我连续有四个单选按钮。
所以我在表中有10行。连续的所有单选按钮具有相同的ID。
在一次中,只能选择一行中的一个单选按钮。
检查一些单选按钮,一些未检查。
我想在提交表单时进行验证。如果我提交表格如果连续选择了所有单选按钮,则可以显示一个msg框。
我找到了单选按钮id但我无法获得它们的值,无论是真还是假。
它会在警告框中显示我:radiobutton Value is: undefined
这是方法:
function showValue() {
var radioID="radiobutton";
var radiobuttonName;
var radiobuttonValue;
for (var i=0;i<10;i++) {
radiobuttonName=radioID+i;
alert("radiobutton Name is:"+radiobuttonName);
if (radiobuttonName.checked)
{
radiobuttonValue=radiobuttonName.value
}
alert("radiobutton Value is:"+radiobuttonValue);
}
}
编辑:
我连续有四个单选按钮。 name和id与一行中的所有四个按钮相同。 假设,第一行中所有按钮的名称和ID都是radiobutton0。第二行是radiobutton1,第三行是radiobutton2。因此我在表中有10行。 我的目标是当我提交页面时,必须连续检查一个按钮,否则它会显示一个msg框,请填写相应的单选按钮。 。 我想让单选按钮的值为true或false。
我运行以下代码:function get_radio_value()
{
var radioID="radiobutton";
var radiobuttonName;
var radiobuttonValue;
for (var i=0;i<10;i++) {
radiobuttonName=radioID+i;
alert("radiobutton Name is:"+:"+radiobuttonName);
}
}
此方法执行循环并显示所有单选按钮名称。
我如何找到radiobuttonValue,无论是真还是假。
答案 0 :(得分:2)
你试图提醒字符串的.value
属性(radiobuttonName
只是一个字符串,而不是一个元素),这是未定义的,而你需要这样的东西:
function showValue() {
var radioID="radiobutton", radiobuttonName, radiobuttonValue, rb;
for (var i=0;i<10;i++) {
radiobuttonName=radioID+i;
rb = document.getElementsByName(radiobuttonName)[0];
alert("radiobutton Name is:"+radiobuttonName);
if (rb.checked)
{
radiobuttonValue=rb.value
}
alert("radiobutton Value is:"+radiobuttonValue);
}
}
在上面我们得到了第一个带有该名称的元素(我猜你的命名约定),如果它有一个ID,你可以用document.getElementsByName(radiobuttonName)[0]
替换document.getElementById(radiobuttonName)