Задать вопрос
Carduelis
@Carduelis
Web-developer, front-end, js, less

Как определить нажатую кнопку по событию submit?

У нас есть форма. Отправить данные нужно по ajax. Соответственно, правильным способом является вешание обработчика на собтие submit, предотвращая стандартное поведение браузера (отправить и обновить страницу).
Проблема в том, что когда мы отправляем данные на сервер без ajax,
<button type="submit" value="save" name="action">Сохранить</button>
<button type="submit" value="delete" name="action">Удалить</button>

На сервер передастся значение value той кнопки, что мы нажали.
А вот по событию submit, почему-то не получается найти нажатую кнопку.
Конечно, можно добавить еще одно событие, повесить обработчик на контейнер формы и отслеживать делегированием, но как так-то?
UPD
Суть в том, что мы вешаем один обработчик на одно событие. И это событие - submit, а не click. Мой вопрос сводится к тому, что если мы не стопаем дефолтное поведение submit, мы НЕ можем поймать нажатую кнопку.
Когда же все просиходит без js, сервер МОЖЕТ распознать нажатую кнопку.
Отсюда я сделал вывод, что наверняка, каким-то образом можно распознать нажатую кнопку в форме по событию submit.
  • Вопрос задан
  • 5633 просмотра
Подписаться 3 Оценить Комментировать
Ответ пользователя Evgeniy К ответам на вопрос (3)
eZhrv
@eZhrv
Growth Hacking, Agile marketing, A/B testing
Возможно, Вам подойдёт этот ответ:
stackoverflow.com/questions/4007942/jquery-seriali...

Поигрался:
https://jsfiddle.net/Lk2j2vmp/3/
Ответ написан