日期:2014-05-18  浏览次数:20729 次

跪求JSP表单代码~~~~!!急~~~~~~
比如在网页上有两个textBorder,数据库里有个表2个列一个ID,一个NAME,我在前面一个textBorder里面输入ID,然后后面那个textBorder会直接显示数据库里面对应的那个NAME,这样的代码要怎么实现啊!
    各位高手,大哥大姐们帮帮忙啊!

------解决方案--------------------
用AJAX。但估计你一时不可能会用。

那就把两个表的值都取出来存入数组中,比如A( "ID1 ", "NAME1 ", "ID2 ", "NAME2 "……)

在页面中输入ID时,利用ONCHANGE事件去检索数组(从0下标每隔一个找),找到后,把A[找到的位置+1]传给第二个textBorder就可以了。
------解决方案--------------------
用ajax可以实现
----------------------
<html>
……
<body>
<script>
//利用ajax取得name
function getName(valueid,msgid){
var http_request=false;
var valueobj=document.getElementById(valueid);
if(window.XMLHttpRequest){
http_request=new XMLHttpRequest();
if(http_request.overrideMimeType){
http_request.overrideMimeType( "text/html ");
}
}
else if(window.ActiveXObject){
try{
http_request=new ActiveXObject( "Xsxml2.XMLHTTP ");
}
catch(e){
try{
http_request=new ActiveXObject( "Microsoft.XMLHTTP ");
}
catch(e){
}
}
}
if(!http_request){
msgid.innerHTML= " <font color=red> <b> 您的浏览器不支持XMLhttp! </b> </font> ";
return false;
}
http_request.onreadystatechange=function processRequest(){
if(http_request.readyState <4){msgid.innerHTML= " <font color=green> <b> 系统正在获取数据,请稍等…… </b> </font> ";}
if(http_request.readyState==4){
if(http_request.status==200){
//显示返回的name
msgid.innerHTML= "name: "+http_request.responseText;
else{
msgid.innerHTML= " <font color=red> <b> 页面出现异常! </b> </font> ";
}
}
};
//get.jsp为从数据库查询name并返回
http_request.open( "GET ", "get.jsp?id= "+valueobj.value,true);
http_request.send(null);
}
</script>
<form>
<input type= "text " id= "nameid " onblur= "getName(this, "msg ") ">
//下面的div换成你自己要显示数据的组件
<div id= "msg "> </div>
</form>
</body>
</html>
------------------------------------
下面是get.jsp
----------------------
<%@ page contentType= "text/html; charset=utf-8 " language= "java "%>
<%
String id=request.getParameter( "id ");
//在这个页面里面查询数据库
..........
String name=rs.getString( "NAME ");
out.println(name);
%>
---------------------