Спасибо. Вот код:
<form id="special-form"> <input type="number" name="main-number"> <input type="date" name="main-date"> <ul> <li><input type="radio" name="radio-button" value="r-first"></li> <li><input type="radio" name="radio-button" value="r-second"></li> </ul> <ul> <li><input type="checkbox" name="chb-first"></li> <li><input type="checkbox" name="chb-second"></li> </ul> <input type="submit" value="Обработать"> </form> <script> const form = document.querySelector('#special-form'); form.addEventListener('submit', function (event) { const tf_1 = this.querySelector('[name="main-number"]').value; const tf_2 = this.querySelector('[name="main-date"]').value; const tf_3 = this.querySelector('[name="radio-button"]').value; const tf_4 = this.querySelector('[name="chb-first"]').value; const tf_5 = this.querySelector('[name="chb-second"]').value; alert (tf_1 + '\n' + tf_2 + '\n' + tf_3 + '\n' + tf_4 + '\n' + tf_5); }); </script> Значения number и date определяются. В radio, независимо от отметки, значение r-first. Оба checkbox, независимо от флажков, всегда on. Подскажите, в чём моя ошибка? P.S: с checkbox разобрался: присваиваю нужное мне значение переменной через условное ветвление const tf_5 = (this.querySelector('[name="chb-second"]').checked) ? 1 : 0; |
this.querySelector('[name="main-number"]')... в то время когда можно сразу получить this["main-number"], это к чему?
Если у флажка не определено значение, то оно по умолчанию будет равно "on", с этим значением выбранный флажок и будет отправлен на сервер. Не выбранные флажки на сервер не передаются. Не знаю чего тут делается, но если не отменять значение по умолчанию формы event.preventDefault();, то она будет отправлена естественным образом. |
There are 15 unique qualities in complete. In HTML code, everything is contained inside one FORM tag. It is beyond the realm of imagination to expect to pass all the qualities for handling in JS in one activity. Windscribe black friday vpn
|
Часовой пояс GMT +3, время: 15:16. |