使用PHP和AJAX在表单中发送日期和检索信息

时间:2014-01-25 16:19:21

标签: php jquery ajax forms xmlhttprequest

我是AJAX和PHP编程的新手。 我相信这很简单,但我很难。

我需要的是用户选择日期(使用jquery日期选择器)并单击确定按钮。

表单将调用页面query.php(通过Ajax)。 query.php将检查日期。 如果日期在数据库中有注册表,query.php将返回为index.php填充的表。

我根据这个例子编写了我的脚本:http://www.w3schools.com/php/php_ajax_database.asp

但在该示例中,触发器是事件(onchange =“showUser(this.value)”)。 我需要在提交表单后调用AJAX函数。

我使用()做了那个,但是当我尝试使用$ q = $ _GET ['q']获取日期时;价值空白。

Index.php(相关信息):

<!DOCTYPE html>

<html lang='pt-BR'>
<head>
    <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","checar_data.php?q="+str,true);
    xmlhttp.send();
    }
    </script>
</head>
<body>

    <form id="dateForm" onsubmit="showUser(); return false;" method="GET">
        Data:
        <input name="datepicker" id="datepicker" type="text" size="10" maxlength="8" />
        <input name="OK" value="OK" type="submit" >
    </form>        
    <div id="txtHint"><b>Person info will be listed here.</b></div>

</body>
</html>

query.php:

<?php
$q = intval($_GET['q']);

echo "$q -> bla bla";


?> 

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

query.php

更改为

<?php
$q = $_GET['q'];
echo "$q";
?>

发送数据页面不正确

xmlhttp.open("GET","checar_data.php?q="+str,true);

更改为

xmlhttp.open("GET","query.php?q="+str,true);

你的函数有一个参数并留空 表单在启动时声明,

改变
<form id="dateForm" onsubmit="showUser(); return false;" method="GET">

<form id="dateForm" onsubmit="showUser(this.datepicker.value); return false;" method="GET">