JQuery.validate在ie8下不支持解决方案

时间:2023-03-09 21:55:16
JQuery.validate在ie8下不支持解决方案

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

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

 <form id="cardTypeFrm">
<table width="100%" cellspacing="0" cellpadding="0" class="table_pzh">
<tbody>
<tr>
<th class="f14 tr pc1">用户名:</th>
<td>
<input type="text" class="pzh_input1" id="userName" name="userName" />
</td>
</tr>
<tr>
<th class="f14 tr pc1">密码:</th>
<td>
<input type="text" class="pzh_input1" id="passWord" name="passWord" />
</td>
</tr>
</tbody>
</table>
<p class="pc2 undis pl50 error pa" style="padding-left:118px;margin-top:-10px;" id="card_next_error">错误信息</p>
<div class="m20 tc">
<input type="submit" id="submitCardNo" class="define_button reservation_1" value="登陆" />
<input type="button" value="取消" class="close_button closePzh ml10" />
</div>
</form>

html代码

其中 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"
});
}

js代码

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

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

1、html代码不变

 <form id="cardTypeFrm">
<table width="100%" cellspacing="0" cellpadding="0" class="table_pzh">
<tbody>
<tr>
<th class="f14 tr pc1">用户名:</th>
<td>
<input type="text" class="pzh_input1" id="userName" name="userName" />
</td>
</tr>
<tr>
<th class="f14 tr pc1">密码:</th>
<td>
<input type="text" class="pzh_input1" id="passWord" name="passWord" />
</td>
</tr>
</tbody>
</table>
<p class="pc2 undis pl50 error pa" style="padding-left:118px;margin-top:-10px;" id="card_next_error">错误信息</p>
<div class="m20 tc">
<input type="submit" id="submitCardNo" class="define_button reservation_1" value="登陆" />
<input type="button" value="取消" class="close_button closePzh ml10" />
</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"
});
}