使用javascript访问单选按钮状态

Accessing Radio button status using javascript

本文关键字:状态 单选按钮 访问 javascript 使用      更新时间:2023-09-26

我使用struts2创建了一个单选按钮小部件。我想使用javascript函数检索选中的单选按钮值。请帮帮我。下面的代码只检索第一个元素。

function getAddress()
{
    var add=document.getElementById("add").value;
    alert(add);
    window.opener.setAddress(add);
    window.close();
    return true;
}
</script>
<body>
<s:action name="Address" id="addlist"/>
 <s:radio label="Address" name="add" list="employeeDetail.addlist">
  <br>
 </s:radio>
<input type="button" name="nextButton" id="nextButton" value="Select"
                 onclick="javascript:getAddress();" />
</body>
</html>

你给了单选按钮名称为"add",但在javascript中访问时,你试图通过id访问它,即

document.getElementById("add");

document.getElementById("add")改为document.getElementByName("add")或者你也可以给单选按钮一个id为"add",然后使用相同的代码;即添加id如下,修改name属性值

id="add" name="addValue"在struts单选标签。

你已经给了名称"add"的无线电元素,你需要要么替换为id="add"或两者兼有-因为你正试图通过id获得元素,它目前没有id。

编辑—从呈现的HTML中可以看出,按名称获取元素值似乎更合适getElementsByName("add")

创建函数getSelectedRadioValue并使用无线电组名调用该函数

function getAddress()
{
    var add=getSelectedRadioGroupValue("add");
    alert(add);
}
//Method to return radio group value. default 0
function getSelectedRadioGroupValue(name){
    var radioGrArr = document.getElementsByName(name);
    var value = '0';
    for (var i=0; i < radioGrArr .length; i++) {
    if (radioGrArr [i].checked == true) {
            value = radioGrArr [i].value;
            break;
        }
    }
    return value;
}