tyoma_koder
@tyoma_koder

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

При обычной отправке формы preventDefault работает, а при send(), как ниже, нет
sendFormBtn.addEventListener('click', function(){
    form.send();
})
form.addEventListener('submit', sendMail)
function sendMail(){
     window.event.preventDefault();
}
  • Вопрос задан
  • 38 просмотров
Решения вопроса 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 нужен
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы