如何使用两个按钮提交表单,其中一个按钮不运行所有功能

时间:2011-04-30 19:37:28

标签: jquery jquery-validate form-submit jquery-forms-plugin

我在这里看过很多类似的问题,但找不到解决这个问题的问题。

我正在使用jQuery Validation插件和表单插件。我想在提交完成后让一个提交按钮运行一个函数。但我希望其他提交按钮跳过最后一个功能。有关如何做到这一点的任何建议吗?

以下是代码:

$("#applicant-form").validate({
    submitHandler: function(form) {
            $(form).ajaxSubmit({                  
                type: "POST",

                //...

                error: function() {alert("error!");},

                success: function() {alert("success!");},

               complete: function(e) {

                 //function not to run with second submit goes here         
    }
  });

return false;   
   },
             errorPlacement: function(error,element) {
                        return true;
                },  
              //...
});

我希望第二个提交按钮在完成功能开始之前停止。

2 个答案:

答案 0 :(得分:0)

也许你可以利用arguments.callee.caller.toString()来确定哪个函数正在调用提交函数,如果它是一个特定的调用者,那么你运行函数

答案 1 :(得分:0)

尝试这样的事情:

$(“#applicant-form”)。验证({

submitHandler: function(form) {
        var submit = this.submitButton; //find submit button that is pressed
        $(form).ajaxSubmit({                  
           complete: function(e) {
             if(submit.value==??????){
                   //function not to run with second submit goes here
             }         
}

});

您可以识别按下了哪个提交按钮,然后根据提交按钮的某些属性,在完整功能中决定是否执行或跳过正文。