以下のコードは、JavaScript ボタン イベントを含むフォームです。
Ajax 検索
<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モニターを使用しているとき、テーブルは表示されますが、ブラウザーのページは同じままです。
詳細情報 - リクエストはポート 7657 で処理され、レスポンスは 8080 で処理されます。