基于enter的Ajax-PHP-MYSQL

基于enter的Ajax-PHP-MYSQL,php,ajax,browser,Php,Ajax,Browser,我正在使用下面的代码搜索mysql数据库,但在按下返回键时无法获取要提交的表单 有人有什么想法吗 function ajaxFunction(){ var ajaxRequest; { // Opera 8.0+, Firefox, Safari ajaxRequest = new XMLHttpRequest(); } catch (e){ // Internet Explorer Browsers try{ ajaxRequest = new ActiveXObje

我正在使用下面的代码搜索mysql数据库,但在按下返回键时无法获取要提交的表单

有人有什么想法吗

function ajaxFunction(){
 var ajaxRequest;
{
  // Opera 8.0+, Firefox, Safari
  ajaxRequest = new XMLHttpRequest();
 } catch (e){
  // Internet Explorer Browsers
  try{
   ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try{
    ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (e){
    // Something went wrong
    alert("Your browser broke!");
    return false;
   }
  }
 }
 ajaxRequest.onreadystatechange = function(){
  if(ajaxRequest.readyState == 4){
   var ajaxDisplay = document.getElementById('ajaxDiv');
   ajaxDisplay.innerHTML = ajaxRequest.responseText;
  }
 }
 var kw = document.getElementById('kw').value;
 var division = document.getElementById('division').value;
 var queryString = "?kw=" + kw + "&division=" + division;
 ajaxRequest.open("GET", "search/jsearch.php" + queryString, true);
 ajaxRequest.send(null); 
}
表格编号为:

<form name='myForm'>
Keywords<input type='text' id='kw' /> <br />
<br />
<select id='division'>
  <option value='0' selected="selected">window & door</option>
  <option value="1">window</option>
  <option value="2">door</option>
</select>
<input type='button' onclick='ajaxFunction()' value='Query MySQL' />
</form>

关键词

门窗 窗口 门
表单的事件代码在哪里?您是否使用onclick而不是onsubmit?我认为我们没有足够的代码/信息来回答这个问题,但是从您描述的第一步来看,您需要确保表单使用onsubmit事件,以便启动xhr

编辑: 然后,这个问题的答案是:“…当按下返回键时无法获取要提交的表单”,使用onsubmit而不是onclick。您还需要将事件附加到表单,而不是按钮,如果可能,请避免使用内联js


onclick
在单击按钮时激发。您正在按return键,而不是单击按钮


如前所述,您应该使用提交表单时激发的
onsubmit
。您需要返回false,即使用
onsubmit=“ajaxFunction();return false;”
,以防止正常提交。

您应该编辑代码并将其放入
标记中。这将使我们更容易阅读和查看。对不起-这应该已经更改了。@premiso否,他应该将代码缩进4个空格,不需要HTML。我现在正在使用onclick-表单现在发布在上面。如果我更改为onsubmit,那么当我按return时,搜索将被清除,但不进行搜索…请更新您的代码,以便我们可以确切地看到您正在做什么。这已经起作用了!!非常感谢你。很抱歉,我现在只能在safari和firefox上测试,这在IE上行吗?