如何取消在 AjaxForm 上的提交

Posted

技术标签:

【中文标题】如何取消在 AjaxForm 上的提交【英文标题】:How to cancel submit on AjaxForm 【发布时间】:2012-07-21 09:42:50 【问题描述】:

我正在使用 jquery 插件(ajax 形式),我尝试实现这样的东西

$("#MyFormID").ajaxForm(
    dataType: "json",
    resetForm: true,
    beforeSubmit: function() 
       //validateData returns boolean
       if(validateData())
          // continue submit
       else
          //cancel submit
       
    ,
    success: function(json) 
        //show success notification     
    
);

有没有办法阻止 ajax 提交表单? 在beforesubmit函数上可能吗?

【问题讨论】:

很简单,不要运行函数? 不要使用它。如果您使用某些东西,为什么需要停止它? 【参考方案1】:

您可以在beforeSubmit函数中使用return false;来阻止表单提交。

来源:http://jquery.malsup.com/form/#options-object

【讨论】:

【参考方案2】:

beforeSend回调中调用xhr.abort()

【讨论】:

这对我不起作用。我收到了这个错误:Uncaught ReferenceError: xhr is not defined。但是,return false; 工作正常。 @Keven,你必须定义 beforeSend 如下: beforeSend: function(xhr) ...。您可能在测试时忘记了这一点。 xhr.abort() 对我有用,而“return false”没有,所以谢谢 Dmitry。 return false 对我不起作用,但 xhr.abort() 工作正常

以上是关于如何取消在 AjaxForm 上的提交的主要内容,如果未能解决你的问题,请参考以下文章

键入时如何在git bash中取消多行提交[关闭]

提交后如何取消选择 h:selectManyListbox

为啥在取消 git 提交后我的更改消失了,我该如何恢复它们?

如何取消选中特别提交的文件[重复]

如何在不提交表单的情况下获取选中或取消选中复选框的值

如何在 svn 和/或 git 中“取消版本化”文件