1

jquery-1.9.1.js と一緒に検証に jquery.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 name@domain.com"
            },
            "<%= 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 で問題を引き起こしません。

ここ数日ここで立ち往生しているので助けてください。

ありがとう

4

1 に答える 1

0

Jquery 1.9 以降のバージョンは IE6/7/8 をサポートしていません。動作する可能性はありますが、保証はありません。

Opera 9 を含む古いブラウザをサポートする jquery 1.8.3 を使用します。

于 2014-11-08T11:08:54.993 に答える