下面的代码是带有 JavaScript 按钮事件的表单:
阿贾克斯搜索
<form>
<b>Enter Search Keyword</b>
<table border = "0">
<tr>
<td><input type="text" id="search" name="search" onkeyup="searchText()" autocomplete="on" /></td>
</tr>
<tr>
<td><div id="result"></div></td>
</tr>
<tr>
<td><div id="close" align="right" style="display: none;"><a href="" onclick="hide_divs(); return false">close</a></div></td>
</tr>
<tr>
<td><input type="button" value="View Data" onclick="showData();"></td>
</tr>
</table>
</form>
下一部分显示 JavaScript 函数 onclick=showData(); 和处理函数:
function showData(){
xmlHttp=GetXmlHttpObject()
var keyword_name=document.getElementById("search").value;
var url="GetResults.jsp";
url=url+"?keyword_name="+keyword_name;
xmlHttp.onreadystatechange=stateChanged
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
function stateChanged(){
if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){
document.getElementById("tab").innerHTML=xmlHttp.responseText;
}
}
showData() 函数有效,它传递关键字参数但不显示结果集:
ResultSet rs = stmt.executeQuery("Select keyword_name, description from keywords where keyword_name='"+keyword_name+"'");
while(rs.next()){
buffer=buffer+"<tr><td>"+rs.getString("keyword_name")+"</td> <td>"+rs.getString("description")+"</td></tr>";
}
当我在 eclipse TCP/IP Monitor 上时,会显示该表,但浏览器上的页面保持不变。
更多信息 - 请求正在端口 7657 上处理,响应在 8080 上。