Относительно: «Есть ли способ получить значение кнопки»
Я предполагаю, что вы имеете в виду значение кнопки нажатой . Да, есть способ настроить прослушиватель щелчков.
Вместо того, чтобы настраивать прослушиватель щелчков для каждой кнопки, вы можете настроить только один для родительского элемента, который содержит кнопки. Чтобы упростить задачу, установите идентификатор для включающего <ul>
:
<ul class="size-list" id="size-list">
Затем установите прослушиватель для этого <ul>
:
document.getElementById('size-list').addEventListener('click', evt => {
let clickedButton = evt.target;
let btnValue = clickedButton.value;
}
Теперь у вас есть значение нажата кнопка.
Сохранение значения кнопки в элементе формы
Если вам нужно сохранить это значение в элементе формы, чтобы это значение было включено при отправке формы , это также можно сделать со скрытым вводом. Давайте создадим один с идентификатором и именем "size":
<form method="GET" action="final.html" id="myform" class="contact-form">
<input type="hidden" id="size" name="size" value="" />
</form>
Затем, лишь небольшая модификация обработчика кликов сохранит значение кнопки в скрытом вводе:
document.getElementById('size-list').addEventListener('click', evt => {
let clickedButton = evt.target;
let btnValue = clickedButton.value;
document.getElementById('size').value = btnValue;
}
Вот и все, значение "size" теперь будет отправлено при отправке формы.