Спасибо. Вот код:
<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;