Задать вопрос
tyoma_koder
@tyoma_koder

Почему не работает preventDefault с submit?

При обычной отправке формы preventDefault работает, а при send(), как ниже, нет
sendFormBtn.addEventListener('click', function(){
    form.send();
})
form.addEventListener('submit', sendMail)
function sendMail(){
     window.event.preventDefault();
}
  • Вопрос задан
  • 515 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
tyoma_koder
@tyoma_koder Автор вопроса
Оказывается submit() не генерирует событие submit, так работает
sendFormBtn.addEventListener('click', function(){
    let event = new Event('submit');
    form.dispatchEvent(event);
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sinneren
@sinneren
1 потому что событие не у window
2 превентя клик по сабмиту в определенных ситуациях может быть не превентиться сабмит самой формы, т.к. событие может прокидывать дальше, тут stopPropagation нужен
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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