如何找到单选按钮值

时间:2010-12-06 12:37:31

标签: javascript

我连续有四个单选按钮。 所以我在表中有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,无论是真还是假。

1 个答案:

答案 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)