【问题标题】:Struts 2 get radio button value using javascriptStruts 2使用javascript获取单选按钮值
【发布时间】:2014-03-30 15:40:53
【问题描述】:

我已经使用 Struts 标签创建了一个单选按钮,但是我试图获取单选按钮的选定值,但是我无法获取该值。下面是我到目前为止所做的。

Jsp

<s:radio name="gender" id= "gender" list="#{'1':'Male','2':'Female'}" onChange="genderChange()"/>

Javascript 函数

function genderChange(){
 var gendervalue;
 genderValue = document.getElementById("gender").value;
 alert(gendervalue);

}

控制台错误

TypeError: document.getElementById(...) is null

【问题讨论】:

    标签: javascript jsp struts2 struts


    【解决方案1】:

    解决方案是让我将元素值传递到我更新的代码下的 java 脚本函数中

    Jsp

    <s:radio name="gender" id= "gender" list="#{'1':'Male','2':'Female'}" onChange="genderChange(this.value)"/>
    

    Javascript 函数

    function genderChange(value){
     var gendervalue;
     genderValue = value;
     alert(gendervalue);
    
    }
    

    【讨论】:

      【解决方案2】:

      如果您在 HTML 中看到您的页面,您会看到将创建两个单选按钮,具有 2 个不同的 ID:gender1 和gender2。 您可以通过以下方式获取您的价值:

      var foo = document.getElementById("gender1").checked;
      

      在这种情况下,如果第一个被选中(foo==true),另一个将不会被选中。

      一个更具可扩展性的解决方案正在使用:

      document.getElementsByName("gender")[index].checked
      

      其中 index 是一个数字,用于标识名称为“gender”的所有单选按钮。您可以创建一个 FOR 来循环数组并查找检查的索引为真。

      【讨论】:

      • 您的解决方案向我展示了如何获取组中某个项目的价值,但我希望获得选中项目的价值。如果添加了项目,我将不得不修改我的代码以检查特定选项。这对于我想要实现的目标是不可扩展的。但是,为您的贡献 +1 并指出组中的每个项目都有不同的 id
      猜你喜欢
      • 2012-01-04
      • 1970-01-01
      • 2015-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-02
      相关资源
      最近更新 更多