2010-01-06 8 views
1

Я пытаюсь объединить ajaxSubmit с валидации плагинajaxForm с JQuery Validate

Вот мой код

Это говорит ajaxSubmit не является функцией

$("#send-reply").validate({ 
     meta: "validate", 
     errorElement: "em", 
       errorClass: "error", 
     validClass: "success", 
     highlight: function(element, errorClass, validClass) { 

      $(element).closest("div.required").removeClass(validClass); 
      $(element).closest("div.required").addClass(errorClass); 
      $(element).addClass(errorClass); 
     }, 
     unhighlight: function(element, errorClass, validClass) { 
      $(element).closest("div.required").removeClass(errorClass); 
      $(element).closest("div.required").addClass(validClass); 
      $(element).removeClass(errorClass); 
     }, 
     debug:true, 
       rules: { 
      message:{required:true} 
     }, 
     messages: { 
     message:'', 

     }, 
       submitHandler: function(form) { 

       form.ajaxForm({ target:'#result', 
      success: function() { 
      $('#send-reply').fadeOut(500); 
      $('#send-reply').remove(); 
     },clearForm: true}); 

}}); 

ответ

0

Вы пробовали:

$(form).ajaxSubmit(....); 

Есть две вещи: 1) Я думаю, что имя функции - ajaxSubmit, где ajaxFor m переопределяет обработчик отправки. 2) вам может быть передан объект формы DOM вместо объекта jQuery с формой

+0

Нечетное, что это работает В документах говорится, что не нужно делать $ (форму) из-за рекурсии, предполагая, что это применимо только к нормали. submit() – matthewb

+0

'form.submit()' будет вызывать метод DOM 'submit' на объекте DOM, тогда как' $ (form) .submit() 'будет запускать отправку событий в форме с помощью jQuery, снова вызвав вашу проверку - - поэтому предупреждение о рекурсии. – gnarf

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