2010-01-06 61 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