2013-10-24 31 views
1

取更改值我都藏在我的jsp場Action類不能從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不能存儲更改的值嗎?

幫助讚賞。

回答

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 
+0

完美的答案。多數民衆贊成在!! !!米感覺很愚蠢,但:)謝謝 – rohanparekh

+0

不客氣。有時會發生這樣的小錯誤,我們是人類。謝謝! :) –