zoukankan      html  css  js  c++  java
  • 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了。看一下例子。

    1. $('input[name^="hour"]').each(function(index){  
    2.     this.value=index;        //this是dom对像,js写法  
    3. });  
    4.   
    5. $('input[name^="hour"]').each(function(index){  
    6.     $(this).val(index);      //$(this)是jquery对像,jquery写法  
    7. });  

    二,jquery validate 死循环程序

    1. $("#product_form").validate({  
    2.     focusInvalid:false,  
    3.     submitHandler: function(form){  
    4.         $('.submit').submit();  
    5.     }  
    6. });  

    正确写法,

    1. $("#product_form").validate({  
    2.     focusInvalid:false,  
    3.     submitHandler: function(form){  
    4.         form.submit();  
    5.     }  
    6. });  

    出现死循环的时候,浏览器会一直处于加载中,直到浏览器挂掉,这个时候,可以加一个alert,你就会知道,validate一直在循环验证。个人觉得,虽然是个小问题,但是很难想起来。


    转载请注明
    作者:海底苍鹰
    地址:http://blog.51yip.com/jsjquery/1511.html



  • 相关阅读:
    记账本开发进程第四天
    记账本开发进程第三天
    记账本开发进程第二天
    记账本开发进程第一天
    《人月神话》阅读笔记三
    《人月神话》阅读笔记二
    一、计算机基础
    Fox and Minimal path CodeForces
    Maximum Value (二分+思维枚举)
    True Liars (思维想法+带权并并查集+01背包)
  • 原文地址:https://www.cnblogs.com/ycpanda/p/3637158.html
Copyright © 2011-2022 走看看