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

在表单中使用PHP和AJAX发送日期和检索信息,php,jquery,ajax,forms,xmlhttprequest,Php,Jquery,Ajax,Forms,Xmlhttprequest,我是AJAX和PHP编程的新手。 我相信这很简单,但我有困难 我需要的是用户选择一个日期(使用jquery日期选择器)并单击OK按钮 表单将调用page query.php(通过Ajax)。php将检查日期。 如果日期在数据库中有注册表,query.php将返回一个为index.php填充的表 我的脚本基于以下示例: 但在该示例中,触发器是事件(onchange=“showUser(this.value)”)。 我需要在提交表单后调用AJAX函数 我使用()实现了这一点,但是当我尝试使用$q=$

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

我需要的是用户选择一个日期(使用jquery日期选择器)并单击OK按钮

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

我的脚本基于以下示例:

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

我使用()实现了这一点,但是当我尝试使用$q=$\u get['q']获取日期时;该值为空

Index.php(相关信息):


函数showUser(str)
{
如果(str==“”)
{
document.getElementById(“txtHint”).innerHTML=“”;
返回;
} 
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“txtHint”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”,“checar_data.php?q=“+str,true”);
xmlhttp.send();
}
数据:
此处将列出人员信息。
query.php:

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

echo "$q -> bla bla";


?> 

如何解决此问题?

query.php

改为

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

xmlhttp.open("GET","query.php?q="+str,true);
您的函数只有一个参数,并保留为空 表单在启动时声明

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



我纠正了表单提交方法,效果很好。为什么老办法行不通?tksi不知道什么是旧方法:)。我也是新手,但是'showUser()'有一个参数发送到query.php页面,在旧代码中,您不会向这个参数发送任何信息。啊,现在我了解showUser(this.datepicker.value),我需要指定哪个字段将向query.php发送数据。Tks很多人:)
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">