나는 도저 슬라이더를 사용하여 GUI를 생성합니다. 슬라이더 옆에는 슬라이더의 현재 값을 표시하는 데 사용되는 텍스트 상자가 있습니다.Java 코드에 자바 스크립트 함수의 인수 전달
내가 원하는 것은 슬라이더가 슬라이딩 될 때마다 슬라이더의 현재 값이 텍스트 상자에 표시된다는 것입니다. 다음으로,이 값은 추가 계산에 사용될 것이고 결과는 다른 텍스트 상자에 표시 될 것입니다.
내가 한 일은 dojo 슬라이더 내부에서 슬라이더의 현재 값을 전달하는 javascript 함수를 호출하는 것입니다.
자바 스크립트 함수 내에서 함수의 인수를 함수 내부의 자바 코드로 전달하려고합니다. 인수는 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
한 가지 질문 : jsp의 응답을 아약스 호출자에게 어떻게 전달할 수 있습니까? AJAX 튜토리얼에서, 나는 ASP가 사용하는 것으로 나타났습니다 : response.expires = -1 response.write (값) 그리고 PHP는 다음을 사용합니다 : $ responses = $ value; 하지만 jsp 예제를 찾지 못했습니다. jsp에서 어떻게하는지 보여 줄 수 있습니까? – user1221330
안녕하세요. 나는 JSP를 사용하지 않는다. 하지만 원칙은 거의 모든 곳에서 동일합니다. JSP와 관련된 튜토리얼 (http://www.ajaxprojects.com/ajax/tutorialdetails.php?itemid=580)을 참고하십시오. Dojo로 작업 할 수 있도록 조정하십시오. –