#jquery #html #validation #input
#jquery #HTML #проверка #ввод
Вопрос:
У меня есть форма, в которой есть несколько обязательных полей. Кнопка отправки имеет идентификатор add
.
Я хочу сделать так, чтобы, если форма действительна, она запускала вызываемую функцию stopNavigate()
Итак, в моем коде у меня есть:
$("#add").on('click', function(){
if($('form').first().valid()){
stopNavigate();
}
});
Однако, когда я делаю это, я больше не получаю всплывающую подсказку «Пожалуйста, заполните это поле» в поле ввода. Есть ли способ проверить это?
Вот пример jsFiddle.
Желаемый результат для неверного ввода
Однако, когда я нажимаю кнопку отправки, средство проверки jQuery пытается перехватить управление с сообщением об ошибке. Есть ли способ по-прежнему отображать всплывающую подсказку о проверке собственного HTML5?
Комментарии:
1. @cale_b, да, я говорю о собственном обязательном сообщении.
2. @cale_b, я добавил пример MCV.
Ответ №1:
Вы перехватываете кнопку отправки click
, которая не позволяет браузеру правильно обрабатывать «обязательные» (и другие) атрибуты для полей формы. Чтобы разрешить браузеру это сделать, вам нужно перехватить submit
событие формы:
$('form').on('submit', function() {
if($('form').first().valid()){
stopNavigate();
}
});
Вот обновленная скрипка, демонстрирующая, что вышеуказанное изменение работает в соответствии с запросом.