JQuery.validate在ie8下不支持的快速解决方法
一、在ie8下回有问题的代码
1、JQuery.validate验证框架是通过页面form表单提交验证<input/>标签中输入是否符合自己的规则的
<formid="cardTypeFrm"> <tablewidth="100%"cellspacing="0"cellpadding="0"class="table_pzh"> <tbody> <tr> <thclass="f14trpc1">用户名:</th> <td> <inputtype="text"class="pzh_input1"id="userName"name="userName"/> </td> </tr> <tr> <thclass="f14trpc1">密码:</th> <td> <inputtype="text"class="pzh_input1"id="passWord"name="passWord"/> </td> </tr> </tbody> </table> <pclass="pc2undispl50errorpa"style="padding-left:118px;margin-top:-10px;"id="card_next_error">错误信息</p> <divclass="m20tc"> <inputtype="submit"id="submitCardNo"class="define_buttonreservation_1"value="登陆"/> <inputtype="button"value="取消"class="close_buttonclosePzhml10"/> </div> </form>
其中name属性和下面js中的rules中的属性一致
2、js绑定validate事件代码如下
$(function(){ initCardTypeFrmValidate() }) functioninitCardTypeFrmValidate(){ $('#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代码不变
<formid="cardTypeFrm"> <tablewidth="100%"cellspacing="0"cellpadding="0"class="table_pzh"> <tbody> <tr> <thclass="f14trpc1">用户名:</th> <td> <inputtype="text"class="pzh_input1"id="userName"name="userName"/> </td> </tr> <tr> <thclass="f14trpc1">密码:</th> <td> <inputtype="text"class="pzh_input1"id="passWord"name="passWord"/> </td> </tr> </tbody> </table> <pclass="pc2undispl50errorpa"style="padding-left:118px;margin-top:-10px;"id="card_next_error">错误信息</p> <divclass="m20tc"> <inputtype="submit"id="submitCardNo"class="define_buttonreservation_1"value="登陆"/> <inputtype="button"value="取消"class="close_buttonclosePzhml10"/> </div> </form>
2、js代码中加入绑定提交事件
$(function(){ initCardTypeFrmValidate() //优化代码 $('#cardTypeFrm').submit(function(){ if($('#cardTypeFrm').valid()){ //通过执行的动作 } returnfalse;//永远禁止页面表单提交 }) }) functioninitCardTypeFrmValidate(){ $('#cardTypeFrm').validate({ onkeyup:false, onfocusout:false, rules:{ userName:{required:true} passWord:{required:true} }, messages:{ userName:{required:'请输入用户名'}, passWord:{required:'请输入密码'} }, errorElement:"p" }); }
以上这篇JQuery.validate在ie8下不支持的快速解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。