struts2 单选按钮 id 属性值正在动态变化
struts2 radio button id attribute value is changing dynamically
我有一个 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 为 'gendermale' 和 'genderfemale',所以我无法获得正确的 id。
由于页面中的每个 id
必须是唯一的,并且 <s:radio>
标记生成多个 HTML 标记,因此它生成多个 id
;
但是,真正的错误是您在单选按钮之间循环,就好像它们是复选框一样,而实际上它们不是。
单选按钮只允许一个选择。
按名称获取元素并读取值,以获取选定的元素,如果选择了 none,则为空。
通常你可以使用点符号 (.
)
document.forms[0].bean.gender.value
但由于您的名字中有一个点,您必须使用其他语法 ([""]
):
document.forms[0]["bean.gender"].value
我有一个 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 为 'gendermale' 和 'genderfemale',所以我无法获得正确的 id。
由于页面中的每个 id
必须是唯一的,并且 <s:radio>
标记生成多个 HTML 标记,因此它生成多个 id
;
但是,真正的错误是您在单选按钮之间循环,就好像它们是复选框一样,而实际上它们不是。
单选按钮只允许一个选择。
按名称获取元素并读取值,以获取选定的元素,如果选择了 none,则为空。
通常你可以使用点符号 (.
)
document.forms[0].bean.gender.value
但由于您的名字中有一个点,您必须使用其他语法 ([""]
):
document.forms[0]["bean.gender"].value