Reputation: 14141
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
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