Я пытаюсь выбрать данные из выпадающего списка и получить & отображать значения, соответствующие ему, в текстовые поля .. данные, которые будут отображаться в Textboxes берутся из базы данных (MySQL базы данных) .. Для сценариев делаются в JSP, которая заключается в следующем:Из раскрывающегося списка отображаемых данных, соответствующих ему из базы данных, в текстовые поля с использованием JSP
issue_from.jsp
function showDataIssue(){
xmlHttp=GetXmlHttpObject()
var id=document.getElementById("part_no").value;
var url="issue_upd.jsp";// code for issue_upd.jsp is given down
url=url+"?part_no="+id;
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null);
}
Здесь part_no является кнопочным, значение которого находится в раскрывающемся списке и при выборе значения какой-либо part_no, соответствующие значения для part_desc, serial_no, mr_no rr_no и po_no должны быть указаны играл в текстовых полях. Поля part_no, part_desc, serial_no, mr_no и rr_no находятся в одной таблице с именем mr_details. Поля part_no, po_no находятся в одной таблице, называемой po_details.
issue_form.jsp
function stateChanged(){
if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
var showdata = xmlHttp.responseText;
var strar = showdata.split(":");
if(strar.length>1){
var strname = strar[1];
document.getElementById("mr_no").value= strar[1];
document.getElementById("rr_no").value= strar[2];
document.getElementById("serial_no").value= strar[3];
document.getElementById("part_desc").value= strar[4];
document.getElementById("po_no").value= strar[5];
}
}
}
В коде выше я пытаюсь получить значения полей. Код для issue_upd.jsp выглядит следующим образом:
issue_upd.jsp
String pn = request.getParameter("part_no").toString();
System.out.println(pn);
String data ="";
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/");
Statement st=con.createStatement();
ResultSet rs=st.executeQuery("select mr_no,rr_no,serial_no,part_desc from where part_no='"+pn+"'");
ResultSet rs1=st.executeQuery("select po_no from po_details where part_no='"+pn+"'");
while(rs.next())
{
data = ":" + rs.getString("mr_no") + ": " + rs.getString("rr_no") + ": " + rs.getString("serial_no")+ ": " + rs.getInt("part_desc")+ ": " + rs1.getInt("po_no");
}
out.println(data);
System.out.println(data);
}catch(Exception e) {
System.out.println(e);
}
Для ниспадающего я написал код в Java, который выглядит следующим образом:
issue_form.java
public class issue_details {
public ResultSet get_part_no() {
ResultSet rs;
try{
Class.forName("com.mysql.jdbc.Driver");
Connection con =DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb");
Statement st=con.createStatement();
rs=st.executeQuery("select part_no from mr_details");
}
catch(Exception e) {
System.out.println(e);
rs=null;
}
return rs;
}
И код JSP для раскрывающегося списка выглядит следующим образом:
issue_form.jsp
<select id="part_no" name="part_no" onchange="showDataIssue();"/>
<% issue_details p=new issue_details();
ResultSet res = p.get_part_no();
while(res.next())
{
%>
<option value="<%=res.getString("part_no") %>"><%=res.getString("part_no")%>
<%=res.getString("part_no") %></option>
<%
} %>
Проблема в том, что я не могу получить значения из базы данных. Не отображаются ни капли. Кто-нибудь, пожалуйста, помогите мне найти ошибки в коде. Это было бы очень полезно для меня. Заранее спасибо.