Я попробовал ваш код на моем ПК, и он работает хорошо. Я даже добавил некоторые правила и сообщения.
$("#contact").validate({
rules : {
name : { required: true, minlength: 3 },
email : { required: true, email: true },
message: { required: true, minlength: 5 }
},
messages: {
name: {
required: "We need your name to identify you",
minlength: jQuery.format("At least {0} characters required!")
},
email: {
required: "We need your email address to contact you",
email: "Your email address must be in the format of name@domain.com",
},
message: {
required: "You need to write something",
minlength: jQuery.format("At least {0} characters required!")
}
},
submitHandler: function() {
$.ajax({
url: './contact_received.php',
type: "GET",
data: 'name=Romain&message=something',
cache: false,
success: function (html) {
$('#formdiv').fadeOut('slow',complete);
function complete() {
$('#formdiv').fadeIn('slow').html(html);
$('.loading').hide();
}
}
});
}
});
Я предлагаю вам показать нам ваши правила и сообщения. Если в коде javascript есть синтаксическая ошибка, вы будете перенаправлены на целевую страницу.
(Совет: чтобы увидеть ошибки Javascript в Firefox, перейдите в главное меню Firefox => Веб-разработка => Консоль ошибок). Надеюсь, меню на английском одинаковые, я французский.
РЕДАКТИРОВАТЬ: Я также добавил точку перед именем вашего php-файла: url: './contact_received.php'
. На моем компьютере, если я не пишу, ничего не происходит, когда я отправляю форму (нет перенаправления, ничего)