Как отловить событеие submit через addEventListener?

пытаюсь добавить передаваемые данные при отправке формы пост собствено вот форма

<form id="formMenu" action="/admin/menu/menuget/create" method="post">
       <input id="menuget-key_setup" class="name" name="MenuGet[key_setup]" aria-required="true" type="text">
    </form>
    <a id="secures" class="btn btn-success col-lg-offset-8 col-md-offset-8 col-sm-offset-6" href="#">Сохранить меню</a>

для того что бы исключить веенье говнокода (отсылка формы по ссылке и много других подванивающих моментов) хотелось бы работать с формой через addEventListener
вот скрипт отправки

$("#secures").click(function (e) {
        e.preventDefault();
         $('#formMenu').submit();}


пытаюсь получить отправку формы так

var form = document.getElementById('formMenu');
    form.addEventListener('submit', function(ev) {
        aletr('yes');
        oData = new FormData(form);
        console.log(oData);
        return false;
    });

но форма отправляется, alert не выводится что я делаю не так ? Jquery подключено.
  • Вопрос задан
  • 3846 просмотров
Решения вопроса 2
@ngame
$("#formMenu").submit(function(e) {
e.preventDefault();
alert("submitted");
})
Ответ написан
boratsagdiev
@boratsagdiev
Поискал и нашел тут:
$().submit() triggers the jquery submit event and not the eventlisterner

(хотел бы зарыться поглубже и посмотреть подробнее различия сейчас, но времени нет)

Так что если вы пошли во все тяжкие с jQuery то и форму забирайте через него и событие слушайте через его .on

var form = $('#formMenu');
    form.on('submit', function(ev) {


Плюс еще отсутствует закрывающая скобка в строке:
$('#formMenu').submit();}
)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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