【问题标题】:How to cancel submit on AjaxForm如何取消在 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函数上可能吗?

【问题讨论】:

  • 很简单,不要运行函数?
  • 不要使用它。如果您使用某些东西,为什么需要停止它?

标签: jquery ajax jquery-plugins


【解决方案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() 工作正常
    猜你喜欢
    • 1970-01-01
    • 2015-11-15
    • 2012-08-24
    • 2020-11-24
    • 2016-05-15
    • 1970-01-01
    • 2013-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多