如何防止Ajax表单提交写在任何地方?

时间:2019-04-08 07:26:41

标签: javascript jquery ajax

我正在基于WordPress中的另一个专业插件开发一个插件。 我想停止用另一个插件编写的Ajax表单提交。 我无法在其他插件中更改ajax代码。

当前方案

提交表单时,它将带我到新页面,但它还会运行ajax请求。。我想停止该ajax请求。 简而言之,我只想用新页面正常提交表单。


HTML

<form id="redirect_form" class="abc-form" method="post" name="New Form" action="http://example.com/form-redirect">
    <label for="form-field-field_1" class="abc-field-label">Test</label>
    <input type="text" name="form_fields[field_1]" id="form-field-field_1" placeholder="Enter a location" autocomplete="off">            
    <button type="submit" class="form_redirect_to">Submit</button>
</form>

jQuery

jQuery(document).ready(function($){
  jQuery('#redirect_form').on('submit',function(e){
    e.preventDefault();
    e.stopPropagation();
    $(this).off("submit");
    this.submit();
    return false;
  });
});

1 个答案:

答案 0 :(得分:1)

正如您通过注释提到的那样,默认Jquery事件是使用表单的类绑定的。 通过更改默认类,该事件将不再在默认Jquery函数中触发。

更改:

<form id="redirect_form" class="abc-form">

通过:

<form id="redirect_form" class="another-class">