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

字號:


    下面小編就為大家?guī)硪黄狫Query.validate在ie8下不支持的快速解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考
    一、在ie8下回有問題的代碼
    1、JQuery.validate驗(yàn)證框架是通過頁面form表單提交驗(yàn)證<input/>標(biāo)簽中輸入是否符合自己的規(guī)則的
    <form id="cardTypeFrm">
      <table cellspacing="0" cellpadding="0">
        <tbody>           
          <tr>
            <th>用戶名:</th>
            <td>
              <input type="text" id="userName" name="userName" />
            </td>
          </tr>
          <tr>
            <th>密碼:</th>
            <td>
              <input type="text" id="passWord" name="passWord" />
            </td>
          </tr>
        </tbody>
      </table>
      <p id="card_next_error">錯(cuò)誤信息</p>
      <div>
        <input type="submit" id="submitCardNo" 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,表示鍵盤輸入不驗(yàn)證,默認(rèn)true
    onfocusout : false,表示輸入框失去焦點(diǎn)不驗(yàn)證,默認(rèn)true
    二、解決方案是,禁止頁面的表單提交,實(shí)行js中綁定表單提交表單
    1、html代碼不變
    <form id="cardTypeFrm">
      <table cellspacing="0" cellpadding="0">
        <tbody>           
          <tr>
            <th>用戶名:</th>
            <td>
              <input type="text" id="userName" name="userName" />
            </td>
          </tr>
          <tr>
            <th>密碼:</th>
            <td>
              <input type="text" id="passWord" name="passWord" />
            </td>
          </tr>
        </tbody>
      </table>
      <p id="card_next_error">錯(cuò)誤信息</p>
      <div>
        <input type="submit" id="submitCardNo" value="登陸" />
        <input type="button" value="取消" />
      </div>
    </form>
    2、js代碼中加入綁定提交事件
    $(function() {
          initCardTypeFrmValidate()
          //優(yōu)化代碼
          $('#cardTypeFrm').submit(function() {
            if ($('#cardTypeFrm').valid()) {
              //通過執(zhí)行的動(dòng)作
            }
            return false;//永遠(yuǎn)禁止頁面表單提交
          })
      })
    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下不支持的快速解決方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考