首頁  >  文章  >  web前端  >  jQuery validate外掛程式submitHandler提交導致死迴圈解決方法_jquery

jQuery validate外掛程式submitHandler提交導致死迴圈解決方法_jquery

WBOY
WBOY原創
2016-05-16 15:19:051499瀏覽

本文實例講述了jQuery validate外掛程式submitHandler提交導致死迴圈解決方法。分享給大家參考,具體如下:

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){
  this.value=index; //this是dom对像,js写法
});
$('input[name^="hour"]').each(function(index){
  $(this).val(index); //$(this)是jquery对像,jquery写法
});

二、jquery validate 死循環程式

$("#product_form").validate({
  focusInvalid:false,
  submitHandler: function(form){
    $('.submit').submit();
  }
});

正確寫法,

$("#product_form").validate({
  focusInvalid:false,
  submitHandler: function(form){
    form.submit();
  }
});

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

更多關於jQuery外掛相關內容有興趣的讀者可查看本站專題:《jQuery常用外掛及用法總結

希望本文所述對大家jQuery程式設計有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn