2012-03-04 19 views
0

ドロップダウンリストからデータを選択しようとすると、&に対応する値がテキストボックスに表示されます。テキストボックスは、次のようにしているスクリプトがJSPで行われる..データベース(MySQLデータベース)から取得され:ドロップダウンリストからデータベースに対応するデータをテキストボックスに入力します。

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の対応する値はdisとなりますテキストボックスで再生されます。 part_no、part_desc、serial_no、mr_no、およびrr_noの各フィールドは、mr_detailsという1つのテーブルにあります。フィールドpart_no、po_noはpo_detailsという1つのテーブルにあります。上記のコードで

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のコードは次のとおりです。以下のとおりである私はJavaでコードを書かれているドロップダウンのために

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); 
} 

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> 

<% 
} %> 

問題は、データベースから値を取得できないことです。いずれのドロップ値も表示されません。誰でも私がコードのエラーを見つけるのを助けてください。それは私にとって大きな助けになるでしょう。前もって感謝します。

答えて

0

ここでは多くの動く部分があるので、各部分をゆっくりとステップして、データが正しいことを確認する必要があります。

私はJavaScriptを使い、xmlHttpリクエストからデータが戻ってくることをalert()で確認します。

次に、ステップごとに次のパーツに進み、出力および/またはブレークを実行して、各パーツにデータが表示されていることを確認します。

私はJSPやJavaScript、データベースを使用しているのと同様の手順を実行しています。あなたが今に取り組んでいるもののようなものに当たったら、必然的に各部分途中で何が失われているのかを確認してください。

一般的には、特定の場所でalert()とout.println()を使用して、問題の発生場所を確認してください。

関連する問題