Ich erstelle eine GUI mit Dojo-Schieberegler. Neben dem Schieberegler befindet sich ein Textfeld, in dem der aktuelle Wert des Schiebereglers angezeigt wird.Übergabe des Arguments der JavaScript-Funktion an Java-Code
Ich möchte, dass jedes Mal, wenn der Schieberegler verschoben wird, der aktuelle Wert des Schiebereglers im Textfeld angezeigt wird. Als nächstes wird dieser Wert in der weiteren Berechnung verwendet und das Ergebnis wird in einer anderen Textbox angezeigt.
Was ich gemacht habe, ist: Innerhalb des Dojo-Sliders rufe ich eine JavaScript-Funktion auf, die den aktuellen Wert des Sliders übergibt.
Innerhalb der JavaScript-Funktion möchte ich das Argument der Funktion in einen Java-Code innerhalb der Funktion übergeben. Das Argument wird vom Java-Code verwendet, um eine Berechnung durchzuführen.
Mein Problem ist, dass ich das Argument nicht an den Java-Code übergeben konnte. Meine Frage ist, wie kann ich das tun?
Unten ist die Codierung habe ich geschrieben:
<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>
Danke für die Antwort @bebraw. Ich werde es versuchen. – user1221330
Eine Frage: Wie kann ich die Antwort von JSP an den Ajax-Anrufer übergeben? Von AJAX Tutorial finde ich, dass asp verwenden: response.expires = -1 response.write (Wert) und PHP verwendet: Antworten $ = $ value; Aber ich habe kein Beispiel für JSP gefunden. Kannst du mir zeigen, wie man es in Jsp macht? – user1221330
Hallo. Ich benutze JSP nicht wirklich. Die Prinzipien sind jedoch überall ziemlich gleich. Vielleicht möchten Sie ein bestimmtes JSP-spezifisches Tutorial ausprobieren: http://www.ajaxprojects.com/ajax/tutorialdetails.php?itemid=580. Passe das an, um mit Dojo zu arbeiten. –