网络编程 
首页 > 网络编程 > 浏览文章

jQuery validate插件submitHandler提交导致死循环解决方法

(编辑:jimmy 日期: 2025/12/25 浏览:3 次 )

本文实例讲述了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程序设计有所帮助。

上一篇:jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
下一篇:jQuery prototype冲突的2种解决方法(附demo示例下载)
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。