【问题标题】:Action class cannot fetch changed value from jsp [closed]动作类无法从 jsp 中获取更改的值 [关闭]
【发布时间】:2013-10-24 21:30:55
【问题描述】:

我的jsp中有隐藏字段

<s:hidden id = "selectedCombo" name="selectedCombo" value=""/>
<s:hidden id = "xyz" name="xyz" value="2"/>

我需要在提交操作之前对其进行更改,所以我编写了如下脚本代码

var e = document.getElementById("somecombo");
var app = e.options[e.selectedIndex].value; 

var combo = document.getElementById("selectedCombo");
combo.value = app;
alert(combo.value);

var e = document.getElementById("rolesForm");
e.submit();

此时,“selectedCombo”的值已更改,并在警报中为我提供了更新的值。

问题:

  • 但我没有在我的操作类中获得“selectedCombo”隐藏字段的更新值。我正在使用 struts 2,所以我试图通过 OGNL 获取值。

  • 我成功地在我的操作类中获得了“xyz”的值,因为它的值是静态的。但不能使用“selectedCombo”!!

是 OGNL 不能存储改变的值吗?

帮助表示赞赏。

【问题讨论】:

    标签: java javascript jquery struts2 struts


    【解决方案1】:

    这不是 OGNL 的问题。

    您没有将值设置为隐藏字段 selectedCombo,而是将值设置为 JavaScript 局部变量 combo

    var combo = document.getElementById("selectedCombo");
    combo.value = app; 
     ↑  
    

    现在,combo 变量的值由app 分配。

    您需要将代码更改为,

    document.getElementById("selectedCombo").value = app; //now this will set the value
    

    【讨论】:

    • 完美答案。那行得通!!....虽然我感觉很傻:)谢谢
    • 不客气。有时会发生这样的小错误,我们是人。谢谢! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多