2010-01-06 66 views
1

我想ajaxSubmit會與驗證插件給ajaxForm與JQuery驗證

下面結合是我的代碼

它說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表單對象,而不是表單

+0

奇怪的是,它的工作原理 文檔說因爲遞歸不做$(form),所以猜測只適用於正常。 submit() – matthewb 2010-01-06 20:44:19

+0

'form.submit()'會在DOM對象上調用DOM'submit'方法,而'$(form).submit()'會使用jQuery在表單上觸發提交事件,再次調用你的驗證 - - 因此遞歸警告。 – gnarf 2010-01-06 21:30:40