document.getElementByName("sex").value
Вы имеете в виду getElementsByName('sex')[0].value
? (Там нет getElementByName
.)
Это, конечно, всегда будет выбирать первый элемент ввода с таким именем - тот, чье значение действительно мужской. Затем вы проверяете, выбран ли он, используя свойство «.checked».
В этом простом случае вы можете получить:
var sex= document.getElementsByName("sex")[0].checked? 'male' : 'female';
В общем случае вы должны переключаться между каждым радиовходом, чтобы увидеть, какой из них проверен. Вероятно, было бы лучше сначала получить объект формы (поместить идентификатор в форму и использовать document.getElementById
, как правило, лучше, чем использовать коллекцию document.forms на основе имени), а затем получить доступ к form.elements.sex для список, если на странице есть какие-либо другие элементы, которые имеют атрибуты name="sex"
(потенциально отличные от полей формы).