Проверка формы перед отправкой
Добрый день. Подскажите как дописать скрипт отправки данных на сервер, чтобы если данные не заполнены возвращалась ошибка и форма не отправлялась
$(document).ready(function(){
$("#callback").submit(function() {
$.ajax({
type: "GET",
url: "mail.php",
data: $("#callback").serialize()
}).done(function() {
alert("Спасибо за заявку!");
$('#callback').css({"display":"none"});
$('.done').css({"display":"block"})
})
return false;
});
})
|
Цитата:
|
Более менее вроде разобрался. Вот
$("#callback").submit(function() {
var form = $(this);
var error = false;
form.find('input, textarea').each( function(){
if ($(this).val() == '') {
alert('Заполните поле "'+$(this).attr('placeholder')+'"!');
error = true;
}
});
if (!error) {
$.ajax({
type: "GET",
url: "mail.php",
data: $("#callback").serialize()
}).done(function() {
alert("Спасибо за заявку!");
$('#callback').css({"display":"none"});
$('.done').css({"display":"block"})
})
return false;
}
});
|
Я в общем сделал вот так
$("#callback").submit(function() {
var form = $(this);
var error = false;
var name = $("#name").val();
var kontakt = $("#phone").val();
if(name.length < 1){
$('#name').addClass('error');
error = true;
}
if(kontakt.length < 1){
$('#phone').addClass('error');
error = true;
}
$('#name, #phone').focus(function(){
$(this).removeClass();
})
if (!error) {
$.ajax({
type: "GET",
url: "mail.php",
data: $("#callback").serialize()
}).done(function() {
alert("Спасибо за заявку!");
$('#callback').css({"display":"none"});
$('.done').css({"display":"block"})
})
return false;
}
});
но иногда при отправке формы с пустыми полями страница моргает и стили error появляются лишь на миг и пропадают, как поправить? |
| Часовой пояс GMT +3, время: 16:45. |