我在动态下拉列表中获得了空格。这是我的代码,
<script type="text/javascript">
function loadXMLDoc(){
var xmlhttp;
var keys=document.dummy.sele.value
var urls="db_fetch.jsp?ok="+keys
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}
else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
removeall();
if (xmlhttp.readyState==4){
z=0;
var roott=xmlhttp.responseXML.documentElement;
var ress=roott.getElementsByTagName("sele2")[z].childNodes[0].nodeValue;
while(ress!=null)
{
addoptions(ress)
z++
var ress=roott.getElementsByTagName("sele2")[z].childNodes[0].nodeValue;
}
}
function removeall(){
var ct=document.dummy.sele2.length;
for(i=ct; i>=0; i--){
document.dummy.sele2.options[i]=null;
}
}
function addoptions(reslt){
var ct1=document.createElement("OPTION");
ct1.text=reslt;
ct1.value=reslt;
document.dummy.sele2.options.add(ct1);
}
}
xmlhttp.open("GET",urls,true);
xmlhttp.send();
}
</script>
</head>
<body>
<form name="dummy">
Employee Number: <select name="sele" onchange="loadXMLDoc()">
<option>select</option>
<option value="1">1</option>
<option value="2">2</option>
</select>
Employee Name:<select name="sele2">
<option>--choose--</option>
</select>
</form>
</body>
</html>
我有第二个用于获取数据库值的jsp代码。
<%
response.setContentType("text/xml");
String sn=request.getParameter("ok");
int i=Integer.parseInt(sn);
System.out.println(i);
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con =DriverManager.getConnection("jdbc:oracle:thin:@10.202.64.11:1521:XE","flat","flat");
Statement st=con.createStatement();
ResultSet rs = st.executeQuery("select STR_FLATNO from mst_flat where INT_AREACODE="+i);
out.println("<select name='sele2'> <option value='0'>select</option>");
while(rs.next()){
out.println("<option value="+rs.getString(1)+">"+rs.getString(1)+"</option>");
}
out.println("</select>");
rs.close();
st.close();
con.close();
%>
选择员工编号时,我无法从database.Here获取员工姓名,
String sn = request.getParameter(&#34; ok&#34;);
保留员工编号的值。
我有任何错误吗?。请帮助我..谢谢..
答案 0 :(得分:0)
看起来您的查询没有正确执行,或者结果集的大小为0.检查您的数据库属性和连接或检查查询的输出。