Я пытаюсь использовать проверку html5 и ajax.
Метод checkValidity не решает мою проблему, потому что он не показывает сообщение об ошибке в пользовательском интерфейсе.
Мне нужно запустить проверку браузера (и показать сообщения об ошибках) с помощью js. Для этого я обнаружил, что должен отправить форму и предотвратить событие. то есть:
$('form#x').submit(function(e){
e.preventDefault();
// ajax code
});
Это работает нормально, и код ajax выполняется только в том случае, если все поля формы действительны. Однако я понял, что после того, как форма верна, код ajax выполняется столько раз, сколько нажатие кнопки отправки WTF?
Я мог бы решить эту проблему, используя глобальный флаг:
flah = 0;
$form.submit(function(e){
e.preventDefault();
if(flag) return;
flag = 1;
//send x ajax
// in ajax callback >> flag = 0
});
Есть ли другой способ запустить проверку без отправки?
Проблема триггера событий - ошибка браузера или проблема в моем коде?
Спасибо