开发者问题收集

使用 javascript 获取单选按钮的值

2011-11-22
39034

我有一个带有单选输入的 HTML 表单,我想使用 javascript 分析结果。 我在 JavaScript 函数中检索表单信息时遇到困难:

function getResults(formInput){
    alert (formInput.question1);
}

其中 question1 是我的单选按钮组的“名称”。

这将返回“object Nodelist”,我不知道哪里出了问题,我希望它返回“1”,这是我的单选按钮被选中时的值。

我不想弄清楚哪个单选按钮被选中,哪个没有被选中,我需要知道与选定的单选按钮关联的值。

2个回答

您引用的 object Nodelist 被返回,因为您有一组共享相同名称的元素。如果您想查看选中的单选按钮的值,则需要循环遍历集合:

function getResults() {
    var radios = document.getElementsByName("question1");

    for (var i = 0; i < radios.length; i++) {       
        if (radios[i].checked) {
            alert(radios[i].value);
            break;
        }
    }
}

这是 一个有效的 jsFiddle

James Hill
2011-11-22

你可以得到一个更简单、更优雅的解决方案:

<input type=radio name=my_radio value=value_1>

var my_form = document.querySelector('#my_form');
var my_radio = my_form.elements.my_radio;

alert(my_radio.value)  // this is the radionodelist.value you can check it on mdn
bergman
2018-03-05