我正在使用dojo滑塊創建一個GUI。除滑塊外,還有一個文本框用於顯示滑塊的當前值。將javascript函數的參數傳遞給java代碼
我想要的是,每次滑動滑塊時,滑塊的當前值都會出現在文本框中。接下來,該值將用於進一步計算,結果將顯示在另一個文本框中。
我一直在做的是:在dojo滑塊內部,我調用了一個傳遞滑塊當前值的javascript函數。
在javascript函數中,我想將函數的參數傳遞給函數內部的java代碼。該參數將被java代碼用來進行計算。
我的問題是我無法將參數傳遞給java代碼。我的問題是我該怎麼做?
下面是我寫的編碼:
<head>
<script type="text/javascript">
dojo.require("dijit.form.Slider");
dojo.require("dijit.form.TextBox");
dojo.ready(function(){
var slider = new dijit.form.HorizontalSlider({
name: "slider",
value: dojo.byId("walluvalueinit").value,
minimum: 0,
maximum: 1,
discreteValues:11,
intermediateChanges: true,
style: "width:300px;",
onChange: function(value){
dojo.byId("walluvalue").value = value;
changewalluvalue(value); //CALLING FUNCTION changewalluvalue()
}
}, "slider");
});
</script>
</head>
<body class="claro">
<jsp:useBean id="beanAnalysis" class="bean.Analysis" scope="application"/>
<script>
function changewalluvalue(value){
<%
ExteriorUnheatedGroundLossCalculation eug = new ExteriorUnheatedGroundLossCalculation();
//MORE CALCULATIONS
//SET U VALUES PROPERTY IN ExteriorUnheatedGroundLossCalculation
eug.setWallUValue(value); //THE ARGUMENT "value" SHOULD BE PASSED HERE
====more java code=====
%>
}
</script>
<form id="form1" name="form1" method="post" action="">
<tr>
<td width="150">Wall U Value</td>
<td width="411" align="center" valign="middle"><div id="slider"></div></td>
<td width="154" align="center" valign="middle"><label for="walluvalueinit"></label>
<input type="text" name="walluvalueinit" id="walluvalueinit" value="${beanAnalysis.wallUValue}"/></td>
<td width="152" align="center" valign="middle"><label for="walluvalue"></label>
<input type="text" name="walluvalue" id="walluvalue" /></td>
</tr>
<td colspan="2" align="center">Transmission Loss</td>
<td align="center" valign="middle"><label for="transmissionlossinit"></label>
<input type="text" name="transmissionlossinit" id="transmissionlossinit" value="${beanAnalysis.transmissionLoss}"/></td>
<td align="center" valign="middle"><label for="transmissionloss"></label>
<%--CALCULATION RESULT WILL BE DISPLAYED HERE--%>
<input type="text" name="transmissionloss" id="transmissionloss" /></td>
</form>
</body>
感謝您的答案@bebraw。我會試試看。 – user1221330 2012-04-11 09:33:24
一個問題:我如何將響應從jsp傳遞給ajax調用者? 從AJAX教程中,我發現asp將使用: response.expires = -1 response.write(value) 而php使用: $ responses = $ value; 但我沒有找到jsp的例子。你能告訴我如何在jsp中做到這一點嗎? – user1221330 2012-04-11 12:15:08
嗨。我沒有真正使用JSP。不過,這些原則在各地都差不多。您可能想查看一些JSP特定教程,例如:http://www.ajaxprojects.com/ajax/tutorialdetails.php ?itemid = 580。適應與Dojo一起工作。 – 2012-04-11 12:38:37