0

jquery.validate.js スクリプトが壊れる原因となっている IE7 の問題を突き止めようとしています。IE7 では、検証スクリプトを含めると、同じエラーが 2 つ表示されます。

SCRIPT3: Member not found.

jquery.js, line 2699 character 4

SCRIPT3: Member not found.

jquery.js, line 2699 character 4

jquery.js (v1.7.1) の 2699 行目は次のとおりです。

return ( ret.nodeValue = value + "" );

私のスクリプトは次のとおりです。

$("#gform_1").validate({
    submitHandler: function(form) {
        form.submit();
     }
});
// First Name
$("#input_1_1").rules("add", {
    required: true,
    minlength: 2
});
// Last Name
$("#input_1_2").rules("add", {
    required: true,
    minlength: 2
});
// Birth Year
$("#input_1_62").rules("add", {
    required: true
});
// Birth Month
$("#input_1_63").rules("add", {
    required: true
});
// Birth Day
$("#input_1_64").rules("add", {
    required: true
});
// Email
$("#input_1_4").rules("add", {
    required: true,
    email: true
});
// Alternate Email
$("#input_1_60").rules("add", {
    email: true
});
// Home Phone Area Code
$("#input_1_67").rules("add", {
    required: true,
    digits: true,
    minlength: 3,
    maxlength: 3
});
// Home Phone Prefix
$("#input_1_68").rules("add", {
    required: true,
    digits: true,
    minlength: 3,
    maxlength: 3
});
// Home Phone Suffix
$("#input_1_69").rules("add", {
    required: true,
    digits: true,
    minlength: 4,
    maxlength: 4
});
// Cell Phone Area Code
$("#input_1_70").rules("add", {
    required: true,
    digits: true,
    minlength: 3,
    maxlength: 3
});
// Cell Phone Prefix
$("#input_1_71").rules("add", {
    required: true,
    digits: true,
    minlength: 3,
    maxlength: 3
});
// Cell Phone Suffix
$("#input_1_72").rules("add", {
    required: true,
    digits: true,
    minlength: 4,
    maxlength: 4
});
// Address
$("#input_1_10").rules("add", {
    required: true,
    minlength: 5
});
// City
$("#input_1_11").rules("add", {
    required: true
});
// State
$("#input_1_73").rules("add", {
    required: true
});
// Zip
$("#input_1_12").rules("add", {
    required: true,
    postal_code: true
});
// Months at residence
$("#input_1_75").rules("add", {
    required: true
});
// Social Security Number Area Number
$("#input_1_77").rules("add", {
    required: true,
    digits: true,
    minlength: 3,
    maxlength: 3
});
// Social Security Number Group Number
$("#input_1_78").rules("add", {
    required: true,
    digits: true,
    minlength: 2,
    maxlength: 2
});
// Social Security Number Serial Number
$("#input_1_79").rules("add", {
    required: true,
    digits: true,
    minlength: 4,
    maxlength: 4
});
// Drivers License Number
$("#input_1_19").rules("add", {
    required: true,
    drivers_license_number: true
});
// Drivers License State
$("#input_1_76").rules("add", {
    required: true
});
// Employer
$("#input_1_21").rules("add", {
    required: true
});
// Months at current employer
$("#input_1_81").rules("add", {
    required: true
});
// Work Phone Area Code
$("#input_1_84").rules("add", {
    required: true,
    digits: true,
    minlength: 3,
    maxlength: 3
});
// Work Phone Prefix
$("#input_1_85").rules("add", {
    required: true,
    digits: true,
    minlength: 3,
    maxlength: 3
});
// Work Phone Suffix
$("#input_1_86").rules("add", {
    required: true,
    digits: true,
    minlength: 4,
    maxlength: 4
});
// Work Phone Extension
$("#input_1_61").rules("add", {
    digits: true
});
// Date of next paycheck
$("#input_1_52").rules("add", {
    required: true,
    date: true
});
// Date of second next paycheck
$("#input_1_53").rules("add", {
    required: true,
    date: true
});
// Total monthly income
$("#input_1_54").rules("add", {
    required: true,
    digits: true
});
// ABA Routing Number
$("#input_1_33").rules("add", {
    required: true,
    digits: true
});
// Account Number
$("#input_1_34").rules("add", {
    required: true,
    digits: true
});
// Bank Name
$("#input_1_35").rules("add", {
    required: true
});
// Months at bank
$("#input_1_87").rules("add", {
    required: true
});

このスクリプトを削除すると、問題が修正されます。関数を削除するだけ$("#gform_1").validate()で、エラーが残ります。すべてのルールを削除すると、エラーが残ります。エラーが消えるのは、両方を削除したときだけです。

このエラーが検証スクリプトを壊していると思います。

この問題の原因は何ですか?

ライブサイトはhttp://www.olympicloans.com/apply-now/

4

1 に答える 1

0

これは、検証 Web サイトで回答されています: https://github.com/jzaefferer/jquery-validation/issues/845

基本的にIE7互換モードのIE10です。プラグインは attr() で「novalidate」属性を設定していますが、これは失敗します。しかし、検証プラグインを編集して、代わりに prop() を使用するように変更すると、エラーはなくなります。

これは、テストにアクセスできるすべてのブラウザーで正常に機能するようです。ただし、IE 7 の実際のコピーにアクセスすることはできません。そのため、マイレージは異なる場合があります。

于 2013-10-01T18:20:10.857 に答える