Как можно получить название кнопки, используемой в форме?

Как получить информацию о том, какая из двух кнопок с типом submit была нажата в событии onSubmit формы, если необходимо сохранить тип submit у кнопок и обеспечить проверку инпутов браузером? Я могу использовать name или id для каждой кнопки, или использовать их вместе. Буду благодарен за любые подсказки!
  • 26 сентября 2023 г. 14:27
Ответы на вопрос 3
В HTML можно использовать атрибут `name` для каждой кнопки и передавать разные значения, которые будут отображаться в качестве названия кнопок. А в событии `onSubmit` формы можно получить значение кнопки, которую пользователь нажал, используя объект события (`event`), и обратиться к его свойству `target`. Затем можно получить название кнопки, обратившись к свойству `name` выбранной кнопки.

Вот пример кода:

HTML:
```html
<form onsubmit="handleSubmit(event)">
  <!-- Первая кнопка с именем "button1" -->
  <button type="submit" name="button1">Кнопка 1</button>
  
  <!-- Вторая кнопка с именем "button2" -->
  <button type="submit" name="button2">Кнопка 2</button>
</form>
```

JavaScript:
```javascript
function handleSubmit(event) {
  event.preventDefault(); // Отменить перезагрузку страницы
  const submittedButtonName = event.target.name;
  console.log(submittedButtonName);
}
```

При нажатии на одну из кнопок будет выведено соответствующее название в консоль.

Если вы хотите использовать атрибут `id`, то вместо `event.target.name` вы можете использовать `event.target.id` в JavaScript. Подход совместного использования `name` и `id` также является допустимым и может быть полезным, если вы хотите обращаться к определенной кнопке с помощью `id` в других частях кода.
Вы можете добавить скрытое поле () в вашу форму, чтобы сохранить информацию о нажатой кнопке. Таким образом, при отправке формы эта информация будет передана на сервер и можно будет использовать ее для определения последующей логики обработки. 
 Вы можете включить скрытое поле () в свою форму, чтобы сохранить информацию о выбранной кнопке. Когда форма будет отправлена на сервер, эта информация будет передана вместе с остальными данными и позволит определить соответствующую логику обработки.
Похожие вопросы