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

标签 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 为“gendermale”和“genderfemale”,因此无法获取正确的 id。

最佳答案

自从每 id页面中的内容必须是唯一的,并且 <s:radio>标签正在生成多个 HTML 标签,它正在生成多个 id s;

然而,真正的错误是您循环遍历单选按钮,就像它们是复选框一样,但它们不是。

单选按钮仅允许一种选择

按名称获取元素并读取值,以获取选定的元素,如果未选择,则为空。

通常您可以使用点符号 ( . )

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

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

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

关于javascript - struts2单选按钮id属性值动态变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33895244/

相关文章:

java - Add.jsp 和 Update.jsp 或仅一个

java - 使用 Struts2 一次下载一个

java - 访问 JPA 实体中的父实体

java - struts2 <s :doubleselect>

javascript - 我如何将状态构造函数添加到此 js 文件?

javascript - QWebFrame addToJavaScriptWindowObject() 对象在 Javascript 中未定义

http - 如何停用jsp页面内的缓存

java - 根据 TLD 或标签文件中的属性指令,属性名称不接受任何表达式

javascript - 保存变量的选定数据以在另一页中使用

javascript - 在 React 中存储数据