2009-04-28 83 views
2

我需要獲取用戶在JSP文本框中輸入的值。我使用JavaScript來獲取值,但後來我需要在頁面之後的JavaScript之外訪問相同的變量。從JSP上的文本框獲取用戶輸入

這是我有:

<script type="text/javascript"> 

    var sp; 

function setPolicy(){ 

sp = document.getElementById('policy').value; 

if(sp != "") 
    alert("You entered: " + sp) 

else 
    alert("Would you please enter some text?") 
} 

</script> 

文本框:

input type="text" id='policy' size="15" tabindex = "1" onblur="setPolicy()" 

但我需要訪問輸入的字符串在這個「政策」文本框後面的scriplet調用內的功能我的會話bean。有沒有什麼辦法可以在JavaScript之外傳遞這個變量?還是有另一種方法來做到這一點?

謝謝!

回答

1

JavaScript執行發生在客戶端並且Scriptlet在服務器端執行。你正試圖將兩者結合起來。

您應該通過傳遞一個參數來將表單提交到同一頁面,該參數將在文本框中輸入值。你的scriptlet應該檢查參數是否存在。第一次來到這個jsp時,參數將不會出現,只有當用戶在文本框中輸入內容時纔可用。

可能不是最好的解決方案,因爲我不知道整個上下文。

0

我不確定你的jsp的生命週期還沒有完成。到javascript運行的時候,所有腳本都被評估過了。

通過這個我的意思是,一個JSP呈現,HTML和JavaScript發射到瀏覽器的響應,並且沒有更多的服務器來解釋JSP。

所以,你應該考慮你的問題,我該如何與服務器進行通信,這是用戶操作的結果?

可能通過在服務器上發佈操作表單。

0

如果您問的是如何在java會話bean中獲得文本輸入值,那麼它與JavaScript代碼無關。

會話bean是服務器端代碼。要將輸入值傳遞給會話bean,您需要根據您使用的Web框架更改服務器端代碼,servlet,strut action,webwork action。