簡體   English   中英

在jsp中自動完成文本框

[英]auto complete text boxes in jsp

好的,我找到了有關我的問題的解決方案。 我的jsp頁面中有三個文本框,當我在第一個文本框中輸入任何數據時,控件將通過get.jsp從數據庫中檢索數據並填充第二個文本框。 但是我希望數據一次從第一個和第二個文本框進入get.jsp以自動填充第三個文本框,但是我正在嘗試,但是數據分別從第一個或第二個文本框進入。

---- auto.jsp ----------

<%@page import="java.sql.*"%>
<html>
<head>  
<script language="javascript" type="text/javascript">  
var xmlHttp  
var xmlHttp
function showState(str){ 
if (typeof XMLHttpRequest != "undefined"){
xmlHttp= new XMLHttpRequest();
   }
   else if (window.ActiveXObject){
xmlHttp= new ActiveXObject("Microsoft.XMLHTTP");
    }
if (xmlHttp==null){
alert ("Browser does not support XMLHTTP Request")
return
} 
var url="get.jsp";//goes to get.jsp
url += "?count=" +str;
xmlHttp.onreadystatechange = stateChange;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
function stateChange(){   
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){   
document.getElementById("country").innerHTML=xmlHttp.responseText;  
}   
}   
</script>  
</head>  
 <body>  
 <input id="name" type="text" name="name" onkeyup="showState(this.value)">
<br>  
<div id='country'>  
</div>  
</body> 
</html>

-------- get.jsp -------------

<%@page language="java" import ="java.sql.*" %>  
 <%  
 String name=request.getParameter("count");  
 String buffer="<div>";  
 //Got value from database 


while(rs.next()){
buffer=buffer+rs.getString(2)+"<br>";  
}  
buffer=buffer+"</div>";  
response.getWriter().println(buffer);  
%>

在這里通過request.getParameter(“ count”); 我僅獲得一個文本框值,但是如何通過在第一個和第二個文本框中輸入數據來從auto.jsp獲取多個值。

只需在onkeyup上調用showState()函數,然后在javascript函數中附加文本框的值即可。

var url="get.jsp";//goes to get.jsp
url += "?count=" +document.getElementById(<first textbox's id>).value;
url += "&secondVal="+document.getElementById(<second textbox's id>).value;

您可以像以前一樣獲得價值

String secondVal=request.getParameter("secondVal"); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM