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.com/jquery-2.1.3.min.js"></script>
<script src="js/forTesting.js"></script>
You must run your
callback
function within the jQuery event handler function (the second argument toon
. Otherwise,callback
will just execute immediately inside offormSubmit
, butalert("I just submitted the form.");
will only execute once the submit event occurs.You need to call the callback after the alert, not after binding the
submit
handler.