Javascript 表单在AJAX请求后再次出现
我正在尝试使用AJAX为我的网站实现一种搜索机制。搜索机制工作正常。但有一个问题。在我的ajax请求之后,表单再次出现。像下面这样 我发布了几行必要的代码。请看一看Javascript 表单在AJAX请求后再次出现,javascript,php,ajax,Javascript,Php,Ajax,我正在尝试使用AJAX为我的网站实现一种搜索机制。搜索机制工作正常。但有一个问题。在我的ajax请求之后,表单再次出现。像下面这样 我发布了几行必要的代码。请看一看 <script src="js/ajax.js"></script> <script src="js/main.js"></script> <script> function searchMyWebsite() { var s = _("searchquery").
<script src="js/ajax.js"></script>
<script src="js/main.js"></script>
<script>
function searchMyWebsite()
{
var s = _("searchquery").value;
var f = _("filter1").value;
if(s == "")
{
alert("Please type something into the search box");
}
else if(s.length < 3)
{
alert("Please enter atleast 3 characters to search");
}
else
{
var ajax = ajaxObj("POST", "search2.php");
ajax.onreadystatechange = function()
{
if(ajaxReturn(ajax) == true)
{
if(ajax.responseText != "failed")
{
_("status").innerHTML = ajax.responseText;
}
else
{
_("status").innerHTML = ajax.responseText;
}
}
}
ajax.send("search="+s+"&filter="+f);
}
}
</script>
</head>
<body>
<form name="search_form" id="search_form" onSubmit="return false;">
Search: <input name="searchquery" id="searchquery" type="text" size="70" maxlength="100">
<button id="searchBtn" onClick="searchMyWebsite()">Search</button>
<br /><br />
Search In:
<select name="filter1" id="filter1">
<option value="users">Users</option>
<option value="forum">Forums</option>
</select>
</form>
<div><span id="status"></span></div>
</body>
函数searchMyWebsite()
{
var s=uU9;(“搜索查询”).value;
var f=U1;(“过滤器1”).值;
如果(s==“”)
{
警告(“请在搜索框中键入内容”);
}
否则,如果(s.长度<3)
{
警报(“请输入至少3个字符进行搜索”);
}
其他的
{
var ajax=ajaxObj(“POST”,“search2.php”);
ajax.onreadystatechange=函数()
{
if(ajaxReturn(ajax)=true)
{
if(ajax.responseText!=“失败”)
{
_(“状态”).innerHTML=ajax.responseText;
}
其他的
{
_(“状态”).innerHTML=ajax.responseText;
}
}
}
发送(“search=“+s+”&filter=“+f”);
}
}
搜索:
搜索
搜索:
使用者
论坛
当ajax请求工作正常时,为什么会发生这种情况?如果必须引用我的php代码来提供解决方案,那么请plzz通知我,我将更新qn。我需要使用
exit()退出脚本代码>任何需要的地方
我自己回答这个问题是因为这可能对某人有用
由于我没有退出脚本,表单将再次发布到页面上。现在我退出脚本,一切正常。check search2.php看起来有一些html内容,成功返回。我看到search2.php上出现了这种情况。这两个文件(一个带有ajax代码,另一个由ajax调用)是否相同?我不确定,但尝试使用onSubmit=“javascript:return false;”而不是onSubmit=“return false;”@Gopal1216,您不能让ajax调用同一个文件。这就是返回HTML代码的原因。将AJAX过程中需要的PHP代码放入一个新文件,并在AJAX方法中调用该文件。或者,您可以稍微调整PHP代码,使其不显示HTML,将PHP粘贴到此处。