For e.g you have a select box and on selection of a specific option you have to send ajax request for fetching some information in our case we are validating information on server side and returning corresponding response.
1) include libraries
<script type="text/JavaScript" src="../Javascripts/ajax.js"></script>
2) Create javascript function
function loadInstallmentOptions(objValue){
if(objValue==<%=SOMECONSTANT%>){
var billCodeId = document.getElementById("Id").value;
var url='validateDetails.jsp?Id='+Id;
ajaxCallSite = new sack();
ajaxCallSite.requestFile = url;
ajaxCallSite.onCompletion = function(){responseOfValidation(ajaxCallSite);};
ajaxCallSite.runAJAX();
}else{
document.getElementById("element1").value="0";
document.getElementById("element2").value="";
document.getElementById("element3").checked=false;
document.getElementById("element4").style.display="none";
}
}
3) in forwarded jsp do the calculation and send response in JSON using
JSONObject AmountHolder = new JSONObject();
showControls = your business logic response;
maxAllowed = your business logic response;
AmountHolder.put("showControls",showControls);
AmountHolder.put("maxAllowed",maxAllowed);
AmountHolder.put("providedValueIsGreater",providedMaxInstallment>maxAllowed);
response.getWriter().write("("+AmountHolder.toString()+")");
response.getWriter().close();
4) On response do the action
function responseOfValidation(ajaxCall)
{
responseObj=eval(ajaxCall.response);
var showControls=responseObj.showControls;
if(showControls==true){
document.getElementById("elementControls").style.display="block";
}else{
document.getElementById("element1").value="0";
document.getElementById("element2").value="";
document.getElementById("element3").checked=false;
document.getElementById("element4").style.display="none";
}
}
1) include libraries
<script type="text/JavaScript" src="../Javascripts/ajax.js"></script>
2) Create javascript function
function loadInstallmentOptions(objValue){
if(objValue==<%=SOMECONSTANT%>){
var billCodeId = document.getElementById("Id").value;
var url='validateDetails.jsp?Id='+Id;
ajaxCallSite = new sack();
ajaxCallSite.requestFile = url;
ajaxCallSite.onCompletion = function(){responseOfValidation(ajaxCallSite);};
ajaxCallSite.runAJAX();
}else{
document.getElementById("element1").value="0";
document.getElementById("element2").value="";
document.getElementById("element3").checked=false;
document.getElementById("element4").style.display="none";
}
}
3) in forwarded jsp do the calculation and send response in JSON using
JSONObject AmountHolder = new JSONObject();
showControls = your business logic response;
maxAllowed = your business logic response;
AmountHolder.put("showControls",showControls);
AmountHolder.put("maxAllowed",maxAllowed);
AmountHolder.put("providedValueIsGreater",providedMaxInstallment>maxAllowed);
response.getWriter().write("("+AmountHolder.toString()+")");
response.getWriter().close();
4) On response do the action
function responseOfValidation(ajaxCall)
{
responseObj=eval(ajaxCall.response);
var showControls=responseObj.showControls;
if(showControls==true){
document.getElementById("elementControls").style.display="block";
}else{
document.getElementById("element1").value="0";
document.getElementById("element2").value="";
document.getElementById("element3").checked=false;
document.getElementById("element4").style.display="none";
}
}
No comments:
Post a Comment