本文實例講述了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程序設計有所幫助。
新聞熱點
疑難解答