Проверка формы перед отправкой
Добрый день. Подскажите как дописать скрипт отправки данных на сервер, чтобы если данные не заполнены возвращалась ошибка и форма не отправлялась
$(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, время: 19:56. |