mrerberg
@mrerberg
Yep

Как правильно воспользоваться событием onsubmit?

Всем привет!

Задача:
При отправке формы нужно проверить правильно ли заполнены поля и если какие-то поля заполнены неверно, то нужно выделить неверные поля красной рамкой.

Код:
https://jsfiddle.net/822ewjbc/

Я сделал примитивную проверку через обработчик событий "invalid", при нажатии на кнопку или enter форма отправляется. Потом я решил усовершенствовать код и вычитал про onsubmit.
Но как только я пытаюсь им воспользоваться,пропадают кастомные сообщения,что говорит о том,что я что-то неправильно делаю.
  • Вопрос задан
  • 512 просмотров
Решения вопроса 1
Exploding
@Exploding
wtf?
О Юпитер! Не надо вообще никаких обработчиков!
Обычная html форма с обычной кнопкой сабмита, как в старые добрые 2000-е))
Иными словами снесите вообще js.
А для валидации используйте параметр тега require. Вот и всего делов.
Если нужно, можно также использовать патерны регулярок, на соответствие не только длины, а и шаблону (тел., почта...), в параметре тега pattern.
А onsubmit нужно использовать для более расширенной проверки js-ом перед отправкой формы, или если нужно отправить форму аяксом. Не забудьте при этом отменить стандартное поведение с помощью event.preventDefault();

$("form").on("submit", function(event){
		
		event.preventDefault();
		
		var formData = $("form").serialize();
		
		$.ajax({
			dataType: "html",
			url: "myUrl.php",
			cache: false,
			type: "POST",
			data: formData,
			success: function(msg){
				console.log(msg);
			},
			error:function(jqXHR, textStatus){
				alert(textStatus);
			}
		});
	});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы