struts2单选按钮id属性值动态变化

时间:2015-11-24 13:42:00

标签: javascript jsp struts2 tags radio-button

我有一个javscript函数,我需要检查是否有任何单选按钮被检查。我正在使用id属性。

<s:radio id="gender" name="bean.gender" list="#{'male':'male','female':'female'}"/>

并在javascript中检查如下:

if (radVal(document.forms[0].gender) == "") {
    alert("enter gender");
    document.forms[0].gender[0].focus();
    return false;
}

function radVal(radName) {
    var radioVal = "";
    for (var i = 0; i < radName.length; i++) {
        if (radName[i].checked) {
            radioVal = radName[i].value;
        }
    }
    return radioVal;
}

并且在运行时我将ID视为&#39; gendermale&#39;和&#39; genderfemale&#39;,所以我无法获得正确的身份。

1 个答案:

答案 0 :(得分:1)

由于页面中的每个id都必须是唯一的,并且<s:radio>标记生成多个HTML标记,因此它会生成多个id s;

然而,真正的错误是你正在循环通过单选按钮,就像它们是复选框一样,而它们却不是。

单选按钮只允许一个选项

按名称获取元素并读取值,以获取所选元素,如果没有选择,则读取空白。

通常您可以使用点符号.

document.forms[0].bean.gender.value

但由于你的名字中有一个点,你必须使用其他语法([""]):

document.forms[0]["bean.gender"].value