2013-10-04 21 views
1

我使用驗證jquery.validate.js與jQuery的1.9.1.js一起工作,這是工作的罰款在所有的瀏覽器而不是在IE7Jquery.Validate.js不是在IE7

下面是我的代碼

<script type="text/javascript" src="/scripts/jquery-1.9.1.js"></script> 
<script type="text/javascript" src="scripts/jquery.validate.js"></script> 

<script type="text/javascript" src="scripts/rwQueryString-1.0.jquery.min.js"></script> 
<script> 
$(function() { 

    var ruleSet_default = { 
     required: true 
    }; 
    var ruleSet1 = { 
     minlength: 2, 
     maxlength: 20, 
     customvalidation: true 
    }; 
    $.extend(ruleSet1, ruleSet_default); //combines defaults into 1 
    var ruleSet2 = { 
     email: true 
    }; 
    $.extend(ruleSet2, ruleSet_default); // combines default into 2 

    $("#customForm").validate({ 

     //focusCleanup: true, 

     rules: { 
      "<%= txtFirstName.UniqueID %>": ruleSet1, 
      "<%= txtLastName.UniqueID %>": ruleSet1, 
      "<%= txtPosition.UniqueID %>": ruleSet_default, 
      "<%= txtEmail.UniqueID %>": ruleSet2, 
      "<%= txtCompanyName.UniqueID %>": ruleSet_default, 
      "<%= txtCompanyAddress.UniqueID %>": ruleSet_default, 
      "<%= txtCity.UniqueID %>": ruleSet_default, 
      "<%= txtProvince.UniqueID %>": ruleSet_default, 
      "<%= txtCountry.UniqueID %>": ruleSet_default, 
      "<%= txtPostalCode.UniqueID %>": ruleSet_default 
     }, 
     highlight: function (element) { 
      $(element).addClass("error"); 
      $(element).removeClass("OK"); 
     }, 
     unhighlight: function (element) { 
      $(element).removeClass("error"); 
      $(element).addClass("OK"); 
     }, 
     messages: { 
      "<%= txtFirstName.UniqueID %>": { 
       required: "Please, enter a name", 
       minlength: $.format("Keep typing, at least {0} characters required!"), 
       maxlength: $.format("Whoa! Maximum {0} characters allowed!") 
      }, 
      "<%= txtLastName.UniqueID %>": { 
       required: "Please, enter last name", 
       minlength: $.format("Keep typing, at least {0} characters required!"), 
       maxlength: $.format("Whoa! Maximum {0} characters allowed!") 
      }, 
      "<%= txtPosition.UniqueID %>": "Please, enter your position", 
      "<%= txtEmail.UniqueID %>": { 
       required: "Please, enter your email", 
       email: "Your email address must be in the format of [email protected]" 
      }, 
      "<%= txtCompanyName.UniqueID %>": "Please, enter your company name", 
      "<%= txtCompanyAddress.UniqueID %>": "Please, enter your company address", 
      "<%= txtCity.UniqueID %>": "Please, enter your city", 
      "<%= txtProvince.UniqueID %>": "Please, enter your province", 
      "<%= txtCountry.UniqueID %>": "Please, enter your country", 
      "<%= txtPostalCode.UniqueID %>": "Please, enter your zip code" 
     } 

    }); 
    $.validator.addMethod("customvalidation", 
      function (value, element) { 
       return /^[A-Za-z\d=#$%@_ -]+$/.test(value); 
      }, 
    "Sorry, no special characters allowed" 
    ); 
}); 
</script> 

我得到這個錯誤,而試圖在IE7

0x80020003 - JavaScript runtime error: Member not found. in jquery-1.9.1.js 

運行這個,但是當我註釋掉jQuery的validate.js代碼,然後jQuery的1.9.1.js不會產生任何問題在IE7中。

請幫忙,因爲我在這裏呆了幾天。

感謝

+0

你發現在jQuery的核心js文件getsetattribute這個問題? –

+0

在詢問客戶端代碼時,請僅顯示_rendered_代碼...換句話說,我們不需要查看您上傳到服務器的內容。我們需要看看瀏覽器正在運行什麼。這包括相關的HTML標記。 – Sparky

回答

0

jQuery的1.9及更高版本不支持IE6/7/8,好了,它可能工作,但沒有保證。

使用jQuery 1.8.3,它支持舊的瀏覽器包括Opera 9