jQuery validate插件submitHandler提交導致死循環解決方法

作者:海底蒼鷹

地址:http://blog.51yip.com/jsjquery/1511.html

dom對像的提交form.submit();和jquery對像的提交$('').submit();功能上是沒有什麼區別的。但是如果用了jquery validate插件,提交時這二個就區別大了。$('').submit();提交時,

jquery validate會進行驗證,submitHandler裏面如果寫了$('').submit();會導致死循環,而form.submit();則不會。

一,簡單說一下dom對像和jquery對像

dom對像,你要用js的寫法來操作,頁面中的標籤。而jquery對像呢,你要用jquery的語法來操作。

dom對像轉換成jquery的對像呢,也很簡單,就加上$()這個就行了,然後就可以用jquery的語法來操作,頁面中的標籤了。我想大家用的最多就是this了。

$('input[name^="hour"]').each(function(index){  
  1.     this.value=index;        //this是dom對像,js寫法  

  2. });  
  3.   
  4. $('input[name^="hour"]').each(function(index){  

  5.     $(this).val(index);      //$(this)是jquery對像,jquery寫法  

  6. });  

二,jquery validate 死循環程序

$("#product_form").validate({  
  1.     focusInvalid:false,  

  2.     submitHandler: function(form){  

  3.         $('.submit').submit();  

  4.     }  

  5. });  

正確寫法,

$("#product_form").validate({  
  1.     focusInvalid:false,  

  2.     submitHandler: function(form){  

  3.         form.submit();  

  4.     }  

  5. });  

出現死循環的時候,瀏覽器會一直處於加載中,直到瀏覽器掛掉,這個時候,可以加一個alert,你就會知道,validate一直在循環驗證。個人覺得,雖然是個小問題,但是很難想起來。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章