I want to call a javascript function that returns a value and then put that value in an if statement. There are two radio buttons in the HTML and the javascript checks to see which one is clicked. After that, the JSP compares it to either 'customers' or 'company' and does the appropriate SQL Query.
Javascript:
function corc{
var value;
if(document.getElementById('cust').checked){
value='customer';
return value;
}else if(document.getElmentById('comp').checked){
value='company';
return value;
}
}
JSP:
if(%>corc();<%.equals("customer")){
String sqlqueryCommand = "SELECT * from customer where login='" + v1 + "' and password='" + v2 + "'";
}else if (%>corc();<%.equals("company")){
String sqlqueryCommand = "SELECT * from company where login='" + v1 + "' and password='" + v2 + "'";
}
You can not call JavaScript function in if statement of JSP, because JSP is executed at the server side and JavaScript is executed at client side.
You have to trigger event when the one of the radio button is clicked, using onclick
event you can call function corc()
.
Do not write scriptlets in JSP, because scriptlets shouldn't be used in JSPs for more than a decade. Learn the JSP EL, the JSTL, and use servlet for the Java code. How to avoid Java Code in JSP-Files?
.......
........
//use <form> to submit values to servlet
<input type="radio" name="radio1" onclick="handleClick(this.id);" id="customerId" />
<input type="radio" name="radio1" onclick="handleClick(this.id);" id="companyId" />
......
.......
//use hidden field to assign table value i.e. "customer" or "company".
<input type="hidden" name="tableValue" id="tableTextId" />
//</form> closing form tag
onclick
event I assigned handleClick
function and passed this.id
, parameter this.id
is used to pass the id
attribute of the clicked radio button.
<script type="text/javascript">
function handleClick(clickedId)
{
if(clickedId == "customerId")
document.getElementById('tableTextId').value = "customer";
else
document.getElementById('tableTextId').value = "company";
}
</script>
String tableName = request.getParameter("tableValue"); // pass the name of hidden field i.e. tableValue
tableName
to query.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With