javascript - 从表单在同一页面内调用 JS 函数(AJAX)

标签 javascript php ajax

我正在尝试在用户输入文本并按下提交按钮后在同一页面中执行 AJAX 函数脚本。

提交后,AJAX 脚本会将结果发送到 findme.php,后者对数据库执行查询。 findme.php 上的查询正在运行,因为我在实现 ajax 函数之前已经对其进行了测试。

我采用了W3school的方法但没有可用的。我无法调用脚本并将值发送到 findme.php

有谁知道我做错了什么?

qwerty.php

<script>
function showUser(str) {
  if (str=="") {
    document.getElementById("txtHint").innerHTML="";
    return;
  } 
  if (window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  } else { // code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
      document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
  xmlhttp.open("GET","findme.php?q="+str,true);
  xmlhttp.send();
}
</script>

 <tr>
<form name="search" method="post" action="">
Name: <input type="text" name="findName"/>
Location: <input type="text" name="findLocation"/>
Price: <input type="text" name="findPrice"/>
<Select NAME="123">
<Option type="checkbox" value="">
<Option type="checkbox" value="=">Equal
<Option type="checkbox" value="<">Less than
<Option type="checkbox" value=">">More than
</select>

<input onclick="showUser(); return false;" type="submit" name="search" value="Search"/>
</form>

  </tr>
<tr>
<div id="txtHint"><b>Person info will be listed here.</b></div>
</tr>

最佳答案

您必须在调用该函数后返回 false,否则表单正在提交,这会导致 ajax 调用丢失。

<input onclick="showUser(); return false;" type="submit" name="search" value="Search"/>

关于javascript - 从表单在同一页面内调用 JS 函数(AJAX),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23671351/

相关文章:

javascript - 如何测试 Grunt 插件

javascript - 如何增加 Accordion 高度

php - 使用 mysql 和 php 创建多个 csv 文件

Php Hack中使用反射获取泛型类型

javascript - 在表中显示 ajax 响应

javascript - ReactJS 中的嵌套对象

javascript - 使用 Firebug 将内联 JS 扩展为多行

javascript - Chrome 中的 Jquery Ajax 请求有什么问题?

php - azure应用程序url重写中的.htaccess文件

java - 使用ajax提交上传文件