Поиск выбранного RADIO в HTML форме средствами javascript

Продемонстрирую алгоритм работы с полем radio для универсального случая, когда мы не знаем существует ли поле, одно у него значение в форме или оно может принимать значение из некоторого набора (случай списка из радио-кнопок).

На практике, часто задача стоит так, что нам нужно определить выбран ли какой то элемент radio-списка в форме, и если выбран, то получить его значение (то что задано в атрибуте value).

Если элемент не существует или же переключатель не выбран — будем возвращать false. В других случаях вернем значение элемента.

Пусть существует такая форма:

Мы не знаем сколько радио-элементов с именем chosen в списке. Их может не быть вообще.

Для начала нужно получить доступ к форме, содержащей radio элемент. Можно обратиться к общему списку форм документа:

но более надежный способ, найти форму по ID:

Теперь нужно понять, что представляет из себя chosen — одно поле или список. И, наконец, проверить его состояние checked — выбран ли он.

frm.elements.chosen, в зависимости от числа элементов, может быть то HTMLInputElement, то RadioNodeList или вообще отсутствовать, а frm.elements.chosen[0] может отсутствовать (быть undefined) или быть HTMLInputElement. На этом и строится логика проверки.

Мало букафф? Читайте есчо !

Вертикальное уплотнение списка скриптом

Май 24, 2017 г.

Если вы занимаетесь версткой, то наверное, нередко верстаете элементы списков. Все выглядит красиво, если элементы однородны по ширине-высоте, тогда они ...

Читать

Создание модальных окон в javascript

Апрель 12, 2017 г.

Модальные окна - этот термин пришел из десктопных приложений. Класс модального окна отсутствует в чистом javascript, но развитие веб-приложений требует ...

Читать

Найти элемент по его классу в HTML на чистом js

Май 4, 2020 г.

Немного ванильного js, на этот раз: как найти контейнер по указанному классу. Сразу рассмотрим более сложный пример, когда требуется найти элемент с классом .class-child внутри элемента .class-parent. В DOM мы используем функцию element.getElementsByClassName(CLASSNAME), ...

Читать

Управление размерами autocomplete ui widget в Drupal

Октябрь 25, 2023 г.

Попался мне UI баг, когда autocomplete слой с результатами поиска оказывался больше по ширине, чем input элемент, к которому он был прикреплен. Не ясен был алгоритм, по которому вычислялась ширина слоя. В одних случаях это происходило корректно, ...

Читать
 

Комментарии к «Поиск выбранного RADIO в HTML форме средствами javascript»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: