一、在ie8下回有問題的代碼
1、JQuery.validate驗證框架是通過頁面form表單提交驗證<input/>標簽中輸入是否符合自己的規則的

1 <form id="cardTypeFrm"> 2 <table width="100%" cellspacing="0" cellpadding="0" class="table_pzh"> 3 <tbody> 4 <tr> 5 <th class="f14 tr pc1">用戶名:</th> 6 <td> 7 <input type="text" class="pzh_input1" id="userName" name="userName" /> 8 </td> 9 </tr> 10 <tr> 11 <th class="f14 tr pc1">密碼:</th> 12 <td> 13 <input type="text" class="pzh_input1" id="passWord" name="passWord" /> 14 </td> 15 </tr> 16 </tbody> 17 </table> 18 <p class="pc2 undis pl50 error pa" style="padding-left:118px;margin-top:-10px;" id="card_next_error">錯誤信息</p> 19 <div class="m20 tc"> 20 <input type="submit" id="submitCardNo" class="define_button reservation_1" value="登陸" /> 21 <input type="button" value="取消" class="close_button closePzh ml10" /> 22 </div> 23 </form>
其中 name屬性和下面js中的rules中的屬性一致
2、js綁定validate事件代碼如下

1 $(function() { 2 initCardTypeFrmValidate() 3 }) 4 5 function initCardTypeFrmValidate() { 6 7 $('#cardTypeFrm').validate({ 8 onkeyup : false, 9 onfocusout : false, 10 rules : { 11 userName : {required : true} 12 passWord : {required : true} 13 }, 14 15 messages : { 16 userName : {required : '請輸入用戶名'}, 17 passWord : {required : '請輸入密碼'} 18 }, 19 errorElement : "p" 20 }); 21 }
onkeyup : false,表示鍵盤輸入不驗證,默認true
onfocusout : false,表示輸入框失去焦點不驗證,默認true
二、解決方案是,禁止頁面的表單提交,實行js中綁定表單提交表單
1、html代碼不變
1 <form id="cardTypeFrm"> 2 <table width="100%" cellspacing="0" cellpadding="0" class="table_pzh"> 3 <tbody> 4 <tr> 5 <th class="f14 tr pc1">用戶名:</th> 6 <td> 7 <input type="text" class="pzh_input1" id="userName" name="userName" /> 8 </td> 9 </tr> 10 <tr> 11 <th class="f14 tr pc1">密碼:</th> 12 <td> 13 <input type="text" class="pzh_input1" id="passWord" name="passWord" /> 14 </td> 15 </tr> 16 </tbody> 17 </table> 18 <p class="pc2 undis pl50 error pa" style="padding-left:118px;margin-top:-10px;" id="card_next_error">錯誤信息</p> 19 <div class="m20 tc"> 20 <input type="submit" id="submitCardNo" class="define_button reservation_1" value="登陸" /> 21 <input type="button" value="取消" class="close_button closePzh ml10" /> 22 </div> 23 </form>
2、js代碼中加入綁定提交事件
1 $(function() { 2 initCardTypeFrmValidate() 3 //優化代碼 4 $('#cardTypeFrm').submit(function() { 5 6 if ($('#cardTypeFrm').valid()) { 7 //通過執行的動作 8 } 9 return false;//永遠禁止頁面表單提交 10 }) 11 }) 12 13 function initCardTypeFrmValidate() { 14 15 $('#cardTypeFrm').validate({ 16 onkeyup : false, 17 onfocusout : false, 18 rules : { 19 userName : {required : true} 20 passWord : {required : true} 21 }, 22 23 messages : { 24 userName : {required : '請輸入用戶名'}, 25 passWord : {required : '請輸入密碼'} 26 }, 27 errorElement : "p" 28 }); 29 }