【问题标题】:Intercept automatic form submit event in JavaScript / jQuery在 JavaScript / jQuery 中拦截自动表单提交事件
【发布时间】:2015-06-17 21:46:40
【问题描述】:

我正在尝试捕获表单的提交请求

<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();

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

为什么?

【问题讨论】:

  • 尝试使用 jQuery $('#submitform').submit(function(e) { return false; });

标签: javascript jquery html forms form-submit


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    你可以试试这个:

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-24
    • 1970-01-01
    • 2019-06-04
    • 2013-01-30
    • 2012-04-09
    • 1970-01-01
    • 2011-07-20
    相关资源
    最近更新 更多