2015-05-18 2 views
0

У меня есть эта функция JQuery:функция JQuery по форме представить

function CheckRequired() { 
    alert("test"); 

    var ret = true; 

    $(".required").each(function() { 
     var check = $(this).val(); 

     if(check == '') { 
      //alert($(this).attr("id")); 
      event.preventDefault(); 
      ret = false; 
     } 
    }); 

    if(!ret) { 
     alert("One or more fields cannot be blank"); 
     return false; 
    } 
} 

, который проверяет все поля ввода с классом required

У меня есть много форм на на моем сайте, и я не называю это функция на каждой форме.

Есть ли способ, который я могу сделать это при подаче любой формы без добавления дополнительного кода в каждую форму?

ответ

2

Используйте событие делегации с JQuery on()

$(document).on('submit', 'form', CheckRequired); 

Кроме того, если вы хотите использовать CheckRequired вместо анонимной функции, не забудьте изменить его decleration принять параметр

function CheckRequired(event) {...} 
+1

event Это просто привязка события, а не делегирование. – Barmar

+0

@Barmar, хорошая точка, спасибо за исправление – AmmarCSE

+0

Я просто добавил этот код и в верхней части функции 'CheckRequired' добавил' alert ("test") '- тогда, когда я отправлю форму, не отображающую – charlie

Смежные вопросы