如何找到一组单选按钮的值?

时间:2012-11-28 12:01:53

标签: javascript html radio-button

我有一个循环遍历表单的函数,并查找每个元素的值,例如,复选框,输入字段等。当它循环遍历此表单的标记时,它将它们添加到字符串中,例如,如果我有一个select标签,里面有几个选项标签,它将取select标签的值,这是方便当前选择的select标签值,并将其添加到字符串。

问题是,单选按钮似乎没有存储其当前值的表单中的位置。我知道单选按钮按名称分组,但是如何在不使用单选按钮标签的ID的情况下找出选择了哪个单选按钮?此外,我的表单将有几个不同的单选按钮组,并且必须能够在我单击提交后单独检索每个单独的值。

以下是单选按钮表格

    <form id="radioTestForm">
        <input type="radio" name="group1" value="cows">1</input>
        <input type="radio" name="group1" value="ducks">2</input>
        <input type="button" onclick="radioTest()" value="submit"></input>
    </form>

最后一点,我不能使用jquery,它必须是javascript。

2 个答案:

答案 0 :(得分:2)

function getRadioValue()
{
    for (var i = 0; i < document.getElementsByName('group1').length; i++)
    {
        if (document.getElementsByName('group1')[i].checked)
        {
            return document.getElementsByName('group1')[i].value;
        }
    }
}

<强> Working Demo

答案 1 :(得分:1)

假设这是你的表格

<form name="form1">
Apple <input type="radio" name="fruit" checked value="apple" >
Orange <input type="radio" name="fruit" value="orange" >
Apricot <input type="radio" name="fruit" value="apricot" >
</form>

<input type="button" onclick="whichFruit()" value="Choose a fruit">

您将检测到如下选择的单选按钮

function wichFruit()
{
  var element = document.form1.fruit;
  for (var i=0; i < element.length; i++)
  {
    if (element[i].checked)
    {
      var fruit = element[i].value;
      break;
    }
  }
}