2011-11-09 9 views
0

フォームのjQuery検証コードがあります。しかし、ie9をie7ブラウザモードに設定するとエラーが発生し、検証は機能しません。ie7のjQueryエラー9

何が問題なのでしょうか。

メッセージの単語の上のエラーは、行}です。

SCRIPT1028: Expected identifier, string or number 
confirm, line 587 character 25 

コードは次のとおり

  $().ready(function() { 

       // validate signup form on keyup and submit 
       $("#signupForm").validate({ 
        rules: { 
         'data[User][email]': {required: true, email: true}, 
         'data[User][firstname]': {required: true}, 
         'data[User][surname]': {required: true}, 
         'data[User][address1]': {required: true}, 
         'data[User][city]': {required: true}, 
         'data[User][state]': {required: true}, 
         'data[User][phone]': {required: true, digits: true}, 
         'user_terms': 'required', 
         'data[User][card_type]': {required: true}, 
         'data[User][card_number]': {required: true, creditcard: true}, 
         'data[User][card_type]': {required: true}, 
         'data[User][card_name]': {required: true}, 
         'data[User][card_cvv]': {required: true,digits: true, minlength: 3, maxlength:3 }, 
         'data[User][card_expires]': {required: true} 


        }, // This is the line ie7 complains about 
        messages: { 
         UserEmail: {required: "Please enter a valid email address"}, 
         UserFirstname: {required: "Please enter your firstname"}, 
         UserSurname: {required: "Please enter your lastname"}, 
         UserAddress1: {required: "Please enter your Address"}, 
         UserCity:  {required: "Please enter your City"}, 
         UserState:  {required: "Please enter your State"}, 
         UserPhone:  {required: "Please enter your Phone"}, 
         user_terms:   'You must agree to the terms and conditions', 
         UserCardType:  {required: "Please select your Card Type"}, 

        }, 
        errorPlacement: function(error, element) { 
          error.appendTo(element.parent().next()); 
        }, 
        submitHandler: function() { 
         $('#checkoutBT').hide(); 
         var $bookingNow = $('<div id="bookingNow" class="ui-button ui-widget ui-state-default ui-corner-all"><img src="https://www.treacyshotelwaterford.com/res360/res/app/webroot/images/forms/ajax-loader.gif" /> Booking Now</div>'); 
         $('.checkout').append($bookingNow); 
         form.submit(); 
        } 

       }); 
+2

オブジェクトの末尾にあるカンマをすべて削除してください。IEは嫌いです。 –

+0

メッセージの前に行のカンマを削除すると思いますか? –

+0

そのカンマは問題ありません。後で要素がなくなるカンマが必要です。また、IEがあなたに伝える行番号を必ずしも信用しないでください。 –

答えて

4

IEは配列やオブジェクトにコンマ末尾にフィットをスローする傾向があります。この行から削除してください:

UserCardType:  {required: "Please select your Card Type"}, 
+0

ありがとう、それでした –