jquery validate submitHandler 提交导致死循环

13 篇文章 0 订阅

转自    http://ju.outofmemory.cn/entry/19813



jquery validate submitHandler 提交导致死循环

更多 0

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一直在循环验证。个人觉得,虽然是个小问题,但是很难想起来。

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, [...]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值