2013-01-13 51 views
0

我是很新,JSP,HTML,......,有一個問題:閱讀選擇的值,並把它傳遞給jsp的

我有一個JSP,我想讀所選值從HTML選擇框中,例如使用JavaScript:

<form name="ListForm" action=""> 
<select name="country" size="6"> 
<% 
    String[] testArray = {"Germany", "Russia", "China", "Iran", "USA", "Israel"}; 
    for (int i = 0; i < testArray.length; i++) { 
%> 
     <option value=<%=testArray[i]%>> 
     <%= testArray[i] %> 
     </option> 
<% 
    } 
%> 
</select> 
</form> 

這是JavaScript:

<script type="text/javascript"> 
    function getSelectedValue() { 
     var e = document.getElementById("country"); 
     return e.options[e.selectedIndex].text; 
    } 
</script> 

現在我想這個字符串傳遞給另一個JSP:

<% 
    String testVar = request.getParameter("country"); 
    session.setAttribute("varName", testVar); 
%> 

但是,這並不工作。你知道爲什麼嗎?

+0

請詳細說明「不工作」的開發者的觀點,而不是最終用戶的觀點。代碼似乎也不完整。你無法展示你如何提交表單。所以我會認爲問題只是你根本沒有提交表單。此外,JavaScript代碼不僅被破壞('id'和'name'不一樣),但它似乎很無用,我會想知道爲什麼它在那裏。只要刪除該JS代碼並向'

'添加''並按下它即可。或者不是你在問什麼? – BalusC

+0

當我嘗試讀取下一個jsp中保存的參數時,我得到「null」而不是選定的值。 我不知道如果我提交表單,但我得到下一個用jsp:

Next →

我應該插入樣的提交語句的? 感謝您的幫助! – user1974056

回答

0

一個可能的問題可能是您的選擇菜單名稱爲country,但不是id country。因此你不會geht與document.getElementById("country");

選擇菜單,您可以通過添加一個id你<select>標籤解決這個問題:

<select id="country" name="country" size="6"> 

但是你並不需要JavaScript來選擇的值發送到服務器。

您應該添加一個提交按鈕到您的窗體:

<input type="submit" /> 

而且不要忘了在你的<form>標籤配置action

<form name="ListForm" action="[server url]"> 
+0

的確如此,謝謝。但它沒有解決問題。不過,我得到「null」而不是選定的值。 – user1974056