1

我的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 不能存储更改的值吗?

帮助表示赞赏。

4

1 回答 1

2

这不是 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
于 2013-10-25T06:34:06.940 回答