mysql - How to get data from DB dynamically based on textbox input using JSP? -


i using jsp backend html , want customer name when start entering customer contact number.

html:

<html> <body>     <script>         function evaluation() {             var mybox1 = document.getelementbyid('milk').value;             var result = document.getelementbyid('result');             var myresult = mybox1 * 35;             result.value = myresult;         }     </script>      <form action="billvalid.jsp" method="post">         <table width="70%" cellspacing="30" color="#ffffff">             <tr>                 <th>enter details</th>             </tr>             <tr>                 <td><font color="#800000">customercontact</font></td>                 <td><input name="cus_contact" type="text" id="contact"></td>             </tr>             <tr>                 <td><fontcolor="#800000">customername</font></td>                 <td><input type="text" name="cus_name"></td>             </tr>             <tr>                 <td>&nbsp;</td>                 <td></td>             </tr>             <tr>                 <td><font color="#800000">dayconsumption</font></td>                 <td><input id="milk" type="text" name="days_con"                     oninput="evaluation()"></td>             </tr>             <tr>                 <td><font color="#800000">suminrs</font></td>                 <td><input id="result" name="total"</td>             </tr>             <tr>                 <td>&nbsp;</td>                 <td></td>             </tr>         </table>         <input type="submit" name="register"><input type="reset"             name="reset">     </form> </body> </html>     

jsp:

 try{     string dbuser="root";     string dbpassword="qwerty";     string connection="jdbc:mysql://localhost:3306/online";      class.forname("com.mysql.jdbc.driver");     java.sql.connection conn=drivermanager.getconnection(connection,dbuser, dbpassword);     out.println("database succesfully connected");                  string customername=request.getparameter("cus_name");     string contact=request.getparameter("cus_contact");     long customercon=long.parselong(contact);       string daycons=request.getparameter("days_con");     int consumtion=integer.parseint(daycons);     string total =request.getparameter("total");     int totalconsume=integer.parseint(total);      string sql = "select (customername) customer customercontact='"+ customercon+"'";      java.sql.preparedstatement st=conn.preparestatement(sql);      java.sql.preparedstatement pst=conn.preparestatement("insert invoice (customercontact ,customername ,litresconsumed ,totalsum) values (?,?,?,?)");     pst.setlong(1, customercon);      pst.setstring(2, customername);      pst.setint(3, consumtion);      pst.setint(4, totalconsume);      int i=pst.executeupdate();       if(i>0){         response.sendredirect("billdata.jsp");     }else{         response.sendredirect("addcustomer.jsp");     }            }catch(exception e){     out.println(e);     e.getmessage(); } 

welcome so, i've got points you.

i shall thank full if send me code of function don't have idea ajax.

1) that's not how site works. please read how ask question?. we'll resolve issues, before go try end.

2) jsp not right place code java. please check how avoid java code in jsp files?

you should keep java code in servlet. when ajax calls request point sevlet , java code on there , return expected output. jsp should used render output.

package com.servlet;  import java.io.ioexception; import javax.servlet.servletexception;  import javax.servlet.http.httpservlet; import javax.servlet.http.httpservletrequest; import javax.servlet.http.httpservletresponse;  public class myservlet extends httpservlet {  private static final long serialversionuid = 1l;  protected void doget(httpservletrequest request,         httpservletresponse response) throws servletexception, ioexception {          string customercontact = request.getparameter("myvalue");         string customername = "your_response_from_db";         response.setcontenttype("text/plain");         response.getwriter().write(customername);     } } 

and in web.xml file,

<servlet>    <servlet-name>myservlet</servlet-name>    <servlet-class>myservlet</servlet-class> </servlet> <servlet-mapping>    <servlet-name>myservlet</servlet-name>    <url-pattern>/myservlet</url-pattern> </servlet-mapping> 

few corrections in html,

add id customer name (use meaningful names).

<tr>     <td><font color="#800000">customercontact</font></td>     <td><input name="customer_contact" type="text" id="customer_contact"></td> </tr> <tr>     <td><fontcolor="#800000">customername</font></td>     <td><input type="text" name="customer_name" id="customer_name"></td> </tr> 

if want return same page use jquery ajax, download jquery plugin add in jsp page.

$("#customer_contact").blur(function(e){     var contact = $(this).val();     $.ajax({         type : 'post',         url : 'myservlet',         data: { myvalue: contact},         success : function(data) {            console.log(data);            $("#customer_name").val(data);         }     }); }); 

let me know if helps.

cheers..!


Comments

Popular posts from this blog

Sort a complex associative array in PHP -

vb.net - How to ignore if a cell is empty nothing -

recursion - Can every recursive algorithm be improved with dynamic programming? -