I need a jsp code in which when i select a value from dropdowm list,(for eg say id) then all the remaining details(eg:name,age,address) about that id must be displayed in the corresponding textboxes from the database at the moment the dropdown value is selected without the use of button..please help me for this.
The given code retrieves the employee name in the dropdown. When the user selects any name from the dropdown, related data will get displayed on the textboxes. Here we have used Ajax.
1)selectname.jsp:
<html> <head> <script type="text/javascript"> function showEmp(emp_value){ if(document.getElementById("address").value!="-1"){ xmlHttp=GetXmlHttpObject() if (xmlHttp==null){ alert ("Browser does not support HTTP Request") return } var url="getvalue.jsp" url=url+"?name="+emp_value xmlHttp.onreadystatechange=stateChanged xmlHttp.open("GET",url,true) xmlHttp.send(null) } else{ alert("Please Select Employee Name"); } } function stateChanged(){ document.getElementById("email").value =""; document.getElementById("address").value =""; if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { var showdata = xmlHttp.responseText; var strar = showdata.split(":"); if(strar.length==1){ document.getElementById("address").focus(); alert("Please Select Employee Name"); document.getElementById("email").value =" "; document.getElementById("address").value =" "; } else if(strar.length>1) { var strname = strar[1]; document.getElementById("address").value= strar[1]; document.getElementById("email").value= strar[2]; } } } function GetXmlHttpObject(){ var xmlHttp=null; try{ xmlHttp=new XMLHttpRequest(); } catch (e) { try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } </script> </head> <body> <form name="employee"> <br><br> <table border="0" width="400px" align="center" bgcolor="#CDFFFF"> <div id="mydiv"></div> <tr><td><b>Select Employee Name</b></td><td> <select name="name" onchange="showEmp(this.value);"> <option value="-1">Select</option> <option value="Angelina">Angelina</option> <option value="Martina">Martina</option> <option value="Julia">Julia</option> <option value="Angel">Angel</option> </select> </td></tr> <tr><td ><b>Employee Address:</b></td><td> <input type="text" name="address" id="address" value=""></td></tr> <tr><td><b>Employee Email:</b></td><td> <input type="text" name="email" id="email" value=""></td></tr> </table> </form> <table border="0" width="100%" align="center"> <br> <br> </table> </body> </html>
2)getvalue.jsp:
<%@page import="java.sql.*"%> <% String name = request.getParameter("name").toString(); String data=""; Connection conn = null; String url = "jdbc:mysql://localhost:3306/"; String dbName = "test"; String driver = "com.mysql.jdbc.Driver"; String userName = "root"; String password = "root"; int sumcount=0; Statement st; try { Class.forName(driver).newInstance(); conn = DriverManager.getConnection(url+dbName,userName,password); String query = "select * from employee where name='"+name+"'"; st = conn.createStatement(); ResultSet rs = st.executeQuery(query); while(rs.next()) { data = ":" + rs.getString("address") +":"+ rs.getString("email"); } out.println(data); } catch (Exception e) { e.printStackTrace(); } %>
3)For the above code, we have created following table:
CREATE TABLE `employee` ( `id` bigint(255) default NULL, `name` varchar(255) default NULL, `address` varchar(255) default NULL, `contactNo` int(255) default NULL, `email` varchar(255) default NULL )
Ads