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

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

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

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

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

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

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

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

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

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

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

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

Чтение GET параметров в JS

Октябрь 7, 2018 г.

Как прочитать GET параметры на стороне клиента из кода на javascript? Бывают ситуации, когда нужно что то сделать из JS в зависимости от переданных параметров ...

Читать

Инициализация карты google после изменения размеров контейнера карты

Февраль 2, 2018 г.

Столкнулся с данной проблемой в своей работе. Опишу более подробно. Объект Гугл карты, при изменении размеров контейнера, в котором рендерится карта, не актуализирует внутренние размеры поля, от которых зависит центровка. К примеру, при уменьшении ...

Читать

 

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

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



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