2015-11-17 4 views
2

У меня есть форма, отправленную с помощью JQuery, а также когда пользователь нажимает на кнопку Submit:Detect, какое событие отправляет форму

например: -

JQuery представить

на некоторых событие

jQuery("#live_form").submit(); 

Кнопка нажмите на кнопку отправить

по нажатию кнопки

jQuery("#button1").click(function(){ 
    jQuery("#live_form").submit(); 
}); 

Мне нужно выполнить функцию (сказать func1), когда форма представлена ​​JQuery способом и в противном случае другая функция (сказать func2), когда форма передает при нажатии кнопки.

jQuery("#live_form").submit(function(){ 
    //some code 
}); 

Как я могу различать эти представления без использования глобальных переменных?

+0

хорошо, что зависит от разметки, вы также можете опубликовать это. – Jai

ответ

3
jQuery("#button1").click(function(event){ 
    console.log("Form submit from "+event.target.nodeName); 
    jQuery("#live_form").submit(); 
}); 

jQuery("#live_form").submit(function(event){ 
console.log("Form submit from "+event.target.nodeName); 
}); 

первый блок возвращает BUTTON и второй блок возврат товара FORM

+0

Эй, спасибо за ответ. Хотя он решает мою проблему, но мне интересно, как я буду дифференцироваться, если в коде присутствует более одного jQuery submit (Нет кнопки Involved и здесь 'event.target.nodeName' всегда дает FORM). – Abhi

1

попробовать:

 var fromWhere = {}; 
     jQuery("#button1").click(function(){ 
      fromWhere = $(this); 
      jQuery("#live_form").submit(); 
     }); 

     jQuery("#live_form").submit(function(){ 
     fromWhere = $(this); 
     }); 
     console.log(fromWhere); 
1

Вы можете использовать event.target.nodeName свойство, чтобы определить, из которого его представили. Код здесь:

$("#yourform").submit(function(event){ 
if(event.target.nodeName=="BUTTON"){ 
functionOne(); 
}else if(event.target.nodeName=="FORM"){ 
functionTwo(); 
} 
}); 
Смежные вопросы