Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to use javascript in jsp

Tags:

javascript

jsp

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     + "'";
}
like image 234
FJam Avatar asked Dec 05 '13 03:12

FJam


1 Answers

  • 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?

JSP code:

.......
........
//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.

JavaScript code:

<script type="text/javascript">
  function handleClick(clickedId)
  {
     if(clickedId == "customerId")
       document.getElementById('tableTextId').value = "customer";
     else
       document.getElementById('tableTextId').value = "company";
  }
</script>
  • When you will submit form then in servlet you can get the value of hidden field.

String tableName = request.getParameter("tableValue"); // pass the name of hidden field i.e. tableValue

  • You can further pass this tableName to query.

Related links

  • How to transfer data from JSP to servlet?
  • forms in HTML
like image 50
Aniket Kulkarni Avatar answered Nov 07 '22 06:11

Aniket Kulkarni