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

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

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

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

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

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

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

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

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

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

Написать комментарий

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

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

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

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

Читать

Вывод в swiper.js слайдере кастомных булетов

Ноябрь 22, 2019 г.

Специально для Артура, задающего вопрос в статье про swiper, привожу пример как вывести в swiper.js вместо штатных булетов навигации некие кастомные текстовые метки. Swiper.js позволяет глубоко кастомизировать все свои элементы. Достаточно обратиться ...

Читать

 

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

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



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