在JavaScript / jQuery中拦截自动表单提交事件

时间:2015-04-12 14:55:57

标签: javascript jquery html forms form-submit

我试图抓住表单的提交请求

<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>
使用

 document.querySelector('#submitform').addEventListener('submit', function(e) { /* code */ });

如果单击提交按钮

,则可以正常工作

但是当我打电话时

$('#submitform').submit();

document.forms["submitform"].submit();

表单提交绕过我的事件监听器。

为什么?

2 个答案:

答案 0 :(得分:1)

你可以试试这个:

$('#submitbutton').trigger('click');

答案 1 :(得分:0)

您可以通过提供事件处理程序和提交函数来拦截jquery提交调用。

$( "#submitform" ).submit(function( event ) {
  alert( "Handler for .submit() called." );
  event.preventDefault();
});

了解更多信息 https://api.jquery.com/submit/