2011-11-22 32 views
5

我有一个带有无线电输入的HTML表单,并且想用javascript来分析结果。 我陷在我的JavaScript函数获取形式信息:使用javascript获取单选按钮的值

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

其中问题1是我的单选按钮组的“名称”。

这将返回“对象Nodelist”,我不知道什么是错的,我希望它返回“1”,这是我选择的单选按钮的值。

我不想确定哪个单选按钮被选中,哪个不是,我需要知道与所选单选按钮相关的值。

+0

你能使用jQuery? – Mathletics

+0

您是否在javascript.internet.com上检查了代码库?你必须编写一个循环,并检查每个按钮的选定值。 – Tim

回答

10

您所指的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; 
     } 
    } 
} 

这里的a working jsFiddle

+0

感谢您对我以前的帖子和这里的回复的建议,我会尝试一下,看看我能做些什么 –

+0

@JosephRobins,请看最新帖子。我以前的答案中有一个错误。 –

+0

哦,你的美丽!我现在很开心:) :) :)非常感谢您的帮助! –

0

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

<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