使用javascript访问单选按钮状态

时间:2011-08-22 12:51:09

标签: javascript struts2

我使用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>

3 个答案:

答案 0 :(得分:1)

您已将单选按钮名称指定为“添加”但在使用javascript访问时,您尝试通过ID访问它,即

document.getElementById("add");

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

struts radio tag中的

id="add" name="addValue"

我认为这会奏效。

答案 1 :(得分:0)

你给无线电元素命名为“add”,你需要用id =“add”替换它或者同时使用两者 - 因为你试图通过id获取元素并且它当前没有id。

编辑-------- 看到呈现的HTML似乎通过名称获取元素值将更适合getElementsByName(“add”)

答案 2 :(得分:0)

创建函数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;
}