1

我有一个函数循环遍历表单并查找每个元素的值,例如复选框、输入字段等,因为它循环遍历此表单的标签,它将它们添加到字符串中,例如,如果我有一个选择带有多个选项标签的标签,它将获取选择标签的值,方便选择标签的当前选择值,并将其添加到字符串中。

问题是,单选按钮似乎在它们存储当前值的表单中没有位置。我知道单选按钮是按名称分组的,但是如何在不使用单选按钮标签的 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 中。

4

2 回答 2

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;
        }
    }
}

工作演示

于 2012-11-28T12:06:59.917 回答
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;
    }
  }
}
于 2012-11-28T12:09:04.437 回答