我是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";
?>
我该如何解决这个问题?
答案 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">