Keith Power
Keith Power

Reputation: 14141

jQuery error in ie7 not 9

I have jQuery validation code for a form. However when I set ie9 to ie7 browser mode in the developer tools I get an error and the validation does not work.

I cant see what might be the problem?

The error is the line }, above the word message.

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

The code is:

            $().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();
                    }

                });

Upvotes: 0

Views: 595

Answers (1)

GSto
GSto

Reputation: 42350

IE tends to throw fits at trailing commas in arrays and objects. remove it from this line:

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

Upvotes: 4

Related Questions