好的,我找到了解决我问题的方法。我在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获取多个值。
答案 0 :(得分:1)
只需在你的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");