Reputation: 8413
I'm trying to catch a submit request for a form
<form action='/post' name='submitform' id="submitform" method='post' class='pure-form'>
<textarea columns="40" rows="4" name='entry[body]' id="statement"></textarea>
<input type='submit' id="submitbutton" name="btnSubmit" value="save" class="pure-button pure-button-primary">
</form>
using
document.querySelector('#submitform').addEventListener('submit', function(e) { /* code */ });
which works fine if I click a submit button
but when I call
$('#submitform').submit();
or
document.forms["submitform"].submit();
the form submits bypassing my event listener.
Why?
Upvotes: 1
Views: 1402
Reputation: 3878
You can intercept the jquery submit call by providing an event handler along with the submit function.
$( "#submitform" ).submit(function( event ) {
alert( "Handler for .submit() called." );
event.preventDefault();
});
For more info https://api.jquery.com/submit/
Upvotes: 0