Помогите, пожалуйста, разобраться.
Делаю валидацию для формы - http://codepen.io/anon/pen/oLNNeB.
После нажатия Send на секунду появляются замечания, а потом исчезают.
Буду очень благодарен за совет.
п.с. на оформление прошу не обращать внимание, просто тестирую.
Повесь на действие формы “submit” обработчик и предотврати дефолтное поведение
FYI: у тебя в коде была синтаксическая ошибка
убрал дефолтное поведение теперь работает.
Большое спасибо.
А что за ошибка, не подскажешь?
А что за ошибка, не подскажешь?
не ошибка, а срабатывание ивента submit
честно говоря толком не знаю и обьяснить не смогу. Может @dmitry подскажет ))
Форма будет отправлена вне зависимости от того валидна ли она. Лучше всего оформить код в виде:
document.forms.commentForm.addEventListener('submit', function (event) {
var isValid = validateForm(); // функция валидации. Возвращает true, если форма валидна
if (!isValid) {
event.preventDefault(); // отмена отправки формы
}
}, false)
Во-первых, таким образом ты привязываешь код к событию отправки формы (это событие может произойти не только при клике, но и при нажатии enter
, имея фокус на элементе формы.
Во-вторых ты не отправляешь не валидную форму. Строка event.preventDefault();
предотвращает отправку формы.
Ага, понял, спасибо за совет!