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


一、在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>
html代碼

其中 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 }
js代碼

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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM