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


Posted in Javascript onJanuary 21, 2016

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

Javascript 相关文章推荐
客户端 使用XML DOM加载json数据的方法
Sep 28 Javascript
使用基于jquery的gamequery插件做JS乒乓球游戏
Jul 31 Javascript
扩展IE中一些不兼容的方法如contains、startWith等等
Jan 09 Javascript
jQuery使用元素属性attr赋值详解
Feb 27 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
Mar 14 Javascript
JS基于myFocus库实现各种功能的tab选项卡切换效果
Sep 19 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
Jul 14 Javascript
ES6正则的扩展实例详解
Apr 25 Javascript
JS获取input[file]的值并显示在页面的实现方法
Mar 09 Javascript
electron实现qq快捷登录的方法示例
Oct 22 Javascript
NProgress显示顶部进度条效果及使用详解
Sep 21 Javascript
Openlayers3实现车辆轨迹回放功能
Sep 29 Javascript
jQuery prototype冲突的2种解决方法(附demo示例下载)
Jan 21 #Javascript
jquery mobile开发常见问题分析
Jan 21 #Javascript
json格式数据的添加,删除及排序方法
Jan 21 #Javascript
jquery及js实现动态加载js文件的方法
Jan 21 #Javascript
js console.log打印对像与数组用法详解
Jan 21 #Javascript
JS遍历数组及打印数组实例分析
Jan 21 #Javascript
js采用concat和sort将N个数组拼接起来的方法
Jan 21 #Javascript
You might like
Win9x/ME下Apache+PHP安装配置
2006/10/09 PHP
php连接mysql数据库代码
2009/03/10 PHP
memcached 和 mysql 主从环境下php开发代码详解
2010/05/16 PHP
PHP校验ISBN码的函数代码
2011/01/17 PHP
php 保留字列表
2012/10/04 PHP
解析PHP 5.5 新特性
2013/07/02 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
php通过array_shift()函数移除数组第一个元素的方法
2015/03/18 PHP
表单(FORM)的一些实用效果代码
2007/03/25 Javascript
js 日期转换成中文格式的函数
2009/07/07 Javascript
Jquery 数据选择插件Pickerbox使用介绍
2012/08/24 Javascript
node.js中的fs.closeSync方法使用说明
2014/12/17 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
jQuery自制提示框tooltip改进版
2016/08/01 Javascript
Vue 2.0的数据依赖实现原理代码简析
2017/07/10 Javascript
详解vue-cli 2.0配置文件(小结)
2019/01/14 Javascript
JavaScript显式数据类型转换详解
2019/03/18 Javascript
p5.js绘制旋转的正方形
2019/10/23 Javascript
python实现将内容分行输出
2015/11/05 Python
Django小白教程之Django用户注册与登录
2016/04/22 Python
Python性能提升之延迟初始化
2016/12/04 Python
python 与GO中操作slice,list的方式实例代码
2017/03/20 Python
Python-copy()与deepcopy()区别详解
2019/07/12 Python
python实现把两个二维array叠加成三维array示例
2019/11/29 Python
keras获得某一层或者某层权重的输出实例
2020/01/24 Python
法国一家芭蕾舞鞋公司:Repetto
2018/11/12 全球购物
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
装修致歉信
2014/01/15 职场文书
停课通知书
2015/04/24 职场文书
捐书活动倡议书
2015/04/27 职场文书
2015年小学数学教研组工作总结
2015/05/21 职场文书
幼儿园新生开学寄语
2015/05/27 职场文书
九年级化学教学反思
2016/02/22 职场文书
Golang全局变量加锁的问题解决
2021/05/08 Golang
jackson json序列化实现首字母大写,第二个字母需小写
2021/06/29 Java/Android
MyBatis配置文件解析与MyBatis实例演示
2022/04/07 Java/Android