[英]Passing parameters from javascript to JSP
我正在嘗試編寫下一個代碼。 我有一個圖像和一個按鈕。 我想在單擊圖像時更改按鈕的值(標題)。 誰能告訴我這是怎么回事? (如果您發現愚蠢的錯別字,請忽略它,我將不會復制粘貼所有內容)。
關於腳本部分的另一個問題(可能與我的問題有關):request.getParameter(imageId)方法是否真的返回了函數的上述參數?
JSP:
<%
String messageButton = "Click me!";
%>
<%!
public void changeStatusButton(String i_MessageButton)
{
i_MessageButton = "You Clicked The Image!";
}
%>
html頭:
<script>
button imageClicked(imageId) {
<% changeStatusButton(request.getParameter(imageId)) %>
}
</script>
html正文:
<input type="image" id="greatimage" onclick="imageClicked(id)"/>
<input id="mybutton" type="button" value="<%=messageButton%>"/>
scriptlet中的所有代碼都將在服務器端執行。 沒有Java代碼從服務器發出,所有發出的都是HTML,即使它們都在同一JSP中也是如此。 您的JSP代碼應類似於-
<% String messageButton = "Click me!"; %> // server-side code
<script type="text/javascript"> // client side code
function imageClicked() {
document.getElementById("mybutton").value = "You Clicked The Image!";
}
</script>
<input type="image" id="greatimage" onclick="imageClicked();"/> // client side code
<input id="mybutton" type="button" value="<%=messageButton%>"/> // client side code with <%=messageButton%> evaluated at server side.
因此,當生成HTML代碼時,從服務器傳出並在您的瀏覽器中呈現的是-
<script type="text/javascript">
function imageClicked() {
document.getElementById("mybutton").value = "You Clicked The Image!";
}
</script>
<input type="image" id="greatimage" onclick="imageClicked();"/>
<input id="mybutton" type="button" value="Click me!"/>
甚至您的變量messageButton
不會出現在客戶端,因為這在scriptlet中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.