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

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

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

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

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

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

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

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

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

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

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

Сообщение Cannot read property 'msie' of undefined

Апрель 13, 2017 г.

Два вероятных случая могут генерировать данное сообщение в консоли браузера. Раннее обращение к js плагину Те или иные свойства могут быть недоступны, если вы обращаетесь к методам и свойствам до того как они определены. В данном случае обращение ...

Читать

Ошибка в Drupal: once is not a function

Май 8, 2023 г.

В Drupal 9/10 нет jQuery плагина once(), потому при использовании этой функции вы увидите сообщение о том, что once - не является функцией. Плагин удобен, но его не сложно заменить в коде буквально парой вставок. Он работает по следующему алгоритму ...

Читать

Подключаем fancybox в Drupal 6

Сентябрь 1, 2013 г.

Fancybox - известный плагин jQuery для создания эффекта "просмотра в окошке". Давайте подключим его в 6-ю версию Drupal. Ряд "деятелей" предлагают поставить для этой цели, кроме самой библиотеки, ещё два плагина - jquery_update и fancybox. Определенный ...

Читать

Копирование текста в буфер обмена на js

Март 12, 2024 г.

Есть устаревший способ, с которым можно ознакомиться здесь, а ниже мы рассмотрим рекомендуемый подход. Для работы с буфером обмена был внедрен Clipboard API. Он позволяет не только двунаправленно работать с буфером обмена, но также и обрабатывать ...

Читать
 

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

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



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