Ajax提交问题

时间:2011-09-21 21:38:28

标签: php mysql ajax

我有这个代码在按下搜索按钮时工作正常,但如果按下回车按钮,它不会从数据库返回任何值。

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按钮时则不返回。有什么方法可以让它对两者做出回应吗?

1 个答案:

答案 0 :(得分:0)

那是因为你没有将任何事件限制在按键上。您的活动标有onclick标记。所以它响应了一次点击。将其绑定到按键,检查该按键是否为回车键,如果是,则触发ajax请求。