У нас есть форма. Отправить данные нужно по 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.