Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 表单在AJAX请求后再次出现_Javascript_Php_Ajax - Fatal编程技术网

Javascript 表单在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").

我正在尝试使用AJAX为我的网站实现一种搜索机制。搜索机制工作正常。但有一个问题。在我的ajax请求之后,表单再次出现。像下面这样

我发布了几行必要的代码。请看一看

<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粘贴到此处。