JQuery.validate在ie8下不支持的快速解决方法

一、在ie8下回有问题的代码

1、JQuery.validate验证框架是通过页面form表单提交验证<input/>标签中输入是否符合自己的规则的

<form> <table cellspacing="0" cellpadding="0"> <tbody> <tr> <th>用户名:</th> <td> <input type="text" /> </td> </tr> <tr> <th>密码:</th> <td> <input type="text" /> </td> </tr> </tbody> </table> <p>错误信息</p> <div> <input type="submit" value="登陆" /> <input type="button" value="取消" /> </div> </form>

其中 name属性和下面js中的rules中的属性一致

2、js绑定validate事件代码如下

$(function() { initCardTypeFrmValidate() }) function initCardTypeFrmValidate() { $('#cardTypeFrm').validate({ onkeyup : false, onfocusout : false, rules : { userName : {required : true} passWord : {required : true} }, messages : { userName : {required : '请输入用户名'}, passWord : {required : '请输入密码'} }, errorElement : "p" }); }

onkeyup : false,表示键盘输入不验证,默认true
onfocusout : false,表示输入框失去焦点不验证,默认true

二、解决方案是,禁止页面的表单提交,实行js中绑定表单提交表单

1、html代码不变

<form> <table cellspacing="0" cellpadding="0"> <tbody> <tr> <th>用户名:</th> <td> <input type="text" /> </td> </tr> <tr> <th>密码:</th> <td> <input type="text" /> </td> </tr> </tbody> </table> <p>错误信息</p> <div> <input type="submit" value="登陆" /> <input type="button" value="取消" /> </div> </form>

2、js代码中加入绑定提交事件

$(function() { initCardTypeFrmValidate() //优化代码 $('#cardTypeFrm').submit(function() { if ($('#cardTypeFrm').valid()) { //通过执行的动作 } return false;//永远禁止页面表单提交 }) }) function initCardTypeFrmValidate() { $('#cardTypeFrm').validate({ onkeyup : false, onfocusout : false, rules : { userName : {required : true} passWord : {required : true} }, messages : { userName : {required : '请输入用户名'}, passWord : {required : '请输入密码'} }, errorElement : "p" }); }

以上这篇JQuery.validate在ie8下不支持的快速解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzpjfy.html