我有这个代码在按下搜索按钮时工作正常,但如果按下回车按钮,它不会从数据库返回任何值。
function showDetails(str){
if (str==""){
document.getElementById("searchDiv").innerHTML="";
return;
}
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
}
else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("searchDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax_details.php?q="+str,true);
xmlhttp.send();
}
以下是我在单独页面中使用它的方法。
searchField
是我表单中的文本输入字段。
<button type="button" name="search" onclick="showDetails(searchField.value)">Search</button>
就像我说的那样,它仅在按下搜索按钮时从服务器返回数据,而在按下计算机键盘上的enter按钮时则不返回。有什么方法可以让它对两者做出回应吗?
答案 0 :(得分:0)
那是因为你没有将任何事件限制在按键上。您的活动标有onclick
标记。所以它响应了一次点击。将其绑定到按键,检查该按键是否为回车键,如果是,则触发ajax请求。