我有一个循环遍历表单的函数,并查找每个元素的值,例如,复选框,输入字段等。当它循环遍历此表单的标记时,它将它们添加到字符串中,例如,如果我有一个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。
答案 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;
}
}
}