JavaScriptjQuery Callback on("submit") - Stack Overflow

admin2025-04-20  0

Can someone tell me why this script doesn't work.

I want the alert for "I just submitted the form" before "The form submitted." So I used a callback but it's still jumping past the submit.

function formSubmit(callback) {
    $("form").on("submit", function(e){
        e.preventDefault();
        alert("I just submitted the form.");
    });
    callback();
}

formSubmit( function() {
    alert("The form submitted.");
});

HTML

<body>
    <form>
        <input type="submit"/>
    </form>
</body>
<script src=".1.3.min.js"></script>
<script src="js/forTesting.js"></script>

Can someone tell me why this script doesn't work.

I want the alert for "I just submitted the form" before "The form submitted." So I used a callback but it's still jumping past the submit.

function formSubmit(callback) {
    $("form").on("submit", function(e){
        e.preventDefault();
        alert("I just submitted the form.");
    });
    callback();
}

formSubmit( function() {
    alert("The form submitted.");
});

HTML

<body>
    <form>
        <input type="submit"/>
    </form>
</body>
<script src="https://code.jquery./jquery-2.1.3.min.js"></script>
<script src="js/forTesting.js"></script>
Share Improve this question asked Oct 12, 2015 at 20:57 AryadneAryadne 732 silver badges8 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 2

You must run your callback function within the jQuery event handler function (the second argument to on. Otherwise, callback will just execute immediately inside of formSubmit, but alert("I just submitted the form."); will only execute once the submit event occurs.

function formSubmit(callback) {
    $("form").on("submit", function(e){
        e.preventDefault();
        alert("I just submitted the form.");
        callback();
    });
}

formSubmit( function() {
    alert("The form submitted.");
});

You need to call the callback after the alert, not after binding the submit handler.

function formSubmit(callback) {
    $("form").on("submit", function(e){
        e.preventDefault();
        alert("I just submitted the form.");
        callback();
    });   
}
转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1745084904a284082.html

最新回复(0)