基于enter的Ajax-PHP-MYSQL
我正在使用下面的代码搜索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
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上行吗?