Mesuti
@Mesuti

Простая валидация Ajax формы на 1 input?

Привет!
Часто сайты идут с самописной валидацией полей у форм но без отправки писем.
Чтобы не лазить по этим настройкам, решил создать универсальный Ajax скрипт отправки форм на сайте, с проверкой всего 1 нужного поля на заполненность.
И вот что получилось:
Jsfiddle
HTML Код

<form>
       <input type="hidden" name="Форма" value="Оставьте заявку!">
       <input type="text" name="Имя">
       <input type="text" id="phone" name="Телефон" required>				
       <button type="submit">Отправить</button>
    </form>


JS код

$(document).ready(function() {
	//E-mail Ajax Send
	$("form").submit(function() { //Change
		var th = $(this);
		$.ajax({
			type: "POST",
			url: "mail.php", //Change
			data: th.serialize()
		}).done(function() {
			alert("Thank you!");
			setTimeout(function() {
				// Done Functions
				th.trigger("reset");
			}, 1000);
		});
		return false;
	});

});



Из плюсов - универсальная на все формы.
Минус - не видит input required (Ну или из-за самописной валидации на сайте)

Как можно в Ajax скрипте установить проверку поля phone ? И только если >0 то делать отправку.

Вот что у меня получилось, но почему-то просто страницу перезагружает, видимо ошибка получилась?:
$(document).ready(function() {
	//E-mail Ajax Send
	$("form").submit(function() { 
        var phone = $('#phone').val();
        if(phone.length > 0) {  
		var th = $(this);
		$.ajax({
			type: "POST",
			url: "mail.php", 
			data: th.serialize()
		}).done(function() {
			alert("Thank you!");
			setTimeout(function() {
				// Done Functions
				th.trigger("reset");
			}, 1000);
		});
		return false;
        });   
	});
});


p.s. html валидация не срабатывает, нужно прямо в механизм отправки написать условие
  • Вопрос задан
  • 825 просмотров
Решения вопроса 1
delphinpro
@delphinpro Куратор тега JavaScript
frontend developer
$("form").submit(function(event) {
  event.preventDefault();
  ...
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Exploding
@Exploding
wtf?
Нужно просто снести мешающий кусок js-a.
Валидация формы реализуется в чистом-голом html, а прикручивая js вы сами же и "трощите" все в щепки:) Разберитесь с механизмом работы... столько раз уже тут этот вопрос был и постоянно из-за одного и того же...

Вот вроде бы норм расписано
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы