0

下面的代码是带有 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 上。

4

0 回答 0