Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.06.2015, 08:35
Аспирант
Отправить личное сообщение для Eliot456 Посмотреть профиль Найти все сообщения от Eliot456
 
Регистрация: 26.05.2015
Сообщений: 44

Проверка формы перед отправкой
Добрый день. Подскажите как дописать скрипт отправки данных на сервер, чтобы если данные не заполнены возвращалась ошибка и форма не отправлялась
$(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;
});
})
Ответить с цитированием
  #2 (permalink)  
Старый 24.06.2015, 08:37
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,205

Сообщение от Eliot456
как дописать скрипт отправки данных на сервер, чтобы если данные не заполнены возвращалась ошибка и форма не отправлялась
Пройдись по полям формы... Проверь их значения... Найдешь пустые - не отправляй форму.
Ответить с цитированием
  #3 (permalink)  
Старый 24.06.2015, 08:57
Аспирант
Отправить личное сообщение для Eliot456 Посмотреть профиль Найти все сообщения от Eliot456
 
Регистрация: 26.05.2015
Сообщений: 44

Более менее вроде разобрался. Вот
$("#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;
					}
				});
Ответить с цитированием
  #4 (permalink)  
Старый 24.06.2015, 09:24
Аспирант
Отправить личное сообщение для Eliot456 Посмотреть профиль Найти все сообщения от Eliot456
 
Регистрация: 26.05.2015
Сообщений: 44

Я в общем сделал вот так
$("#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 появляются лишь на миг и пропадают, как поправить?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка формы перед отправкой KlausKater Общие вопросы Javascript 16 24.04.2014 18:11
Проверка авторизации перед отправкой формы Hapson AJAX и COMET 1 17.03.2014 11:58
Фоновая проверка данных формы перед отправкой egreek AJAX и COMET 6 20.07.2013 11:17
Дождаться отклика события, или проверка формы перед отправкой vid Общие вопросы Javascript 3 09.07.2013 21:36
AJAX проверка перед отправкой формы Tmin10 jQuery 4 16.11.2012 21:40