В форме используется несколько кнопок отправки с разной формой. При нажатии на кнопку возникает событие отправки. Можно ли узнать из обработчика события, какая кнопка была нажата?
<html>
<body>
<form>
<button formaction = "1">1</button>
<button formaction = "2">2</button>
</form>
<script>
var form = document.querySelector('form');
form.addEventListener('submit', function(event) {
event.preventDefault();
var formaction = '?';
alert(formaction);
});
</script>
</body>
</html>УПД. Проверенные варианты:
event.target - <form>
event.srcElement - <form>
event.currentTarget - <form>
event.originalTarget - udefined (FF <form>)
document.activeElement - <button> (Safari <body>)
event.explicitOriginalTarget - udefined (FF <button>)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


События щелчка обычно имеют две цели: .target, который является элементом, по которому был выполнен щелчок, и .currentTarget, который является элементом, который перехватил событие (в данном случае, форму).
Для ваших целей я предлагаю использовать event.target. Распространенным шаблоном является присвоение вашей кнопке атрибута name, чтобы вы могли найти do event.target.name, чтобы выяснить, какая кнопка была нажата.
Имейте в виду, что это будет немного неправильно, если ваша кнопка содержит что-то сложное, например, значок, потому что тогда этот элемент значка будет целью.
целью будет форма. (собираюсь проверить)
Вы можете добавить разные обработчики кликов для нескольких кнопок <input type = "button"/>, но если вам действительно нужно запустить событие отправки, я бы рекомендовал использовать теги данных.
Добавьте это в свой тег ввода
data-formaction = "exampleValue"
Вы можете получить доступ к значению exampleValue, используя: event.target.dataset.formaction внутри вашего обработчика событий
есть ответы Jquery, но вы должны понять это: stackoverflow.com/questions/2066162/… или stackoverflow.com/questions/3577469/…