Как использовать две кнопки для отправки формы, когда одна кнопка не запускает все функции - PullRequest
0 голосов
/ 30 апреля 2011

Я видел много подобных вопросов здесь, но не могу найти тот, который решает эту конкретную проблему.

Я использую плагин 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 голосов
/ 01 мая 2011

Попробуйте что-то вроде этого:

$ ("# заявка-форма"). Validate ({

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
             }         
}

});

Вы можете определить, какая кнопка отправки была нажата, а затем решить в полной функции, будет ли тело выполняться или пропущено, основываясь на некотором атрибуте кнопки отправки.

0 голосов
/ 30 апреля 2011

возможно, вы можете воспользоваться arguments.callee.caller.toString(), чтобы определить, какая функция вызывает функцию отправки, и если это конкретный вызывающий объект, то вы запускаете функцию

...