我是Ajax的新手。在我的Ajax中,我收到以下错误消息:
注意:未定义的索引:C:\ wamp \ www \ test \ sample.php中的地址 第4行
我用谷歌搜索,但我找不到我指定问题的解决方案。
这就是我所做的。
使用Ajax的HTML表单(test1.php)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script>
function loadXMLDoc()
{
var xmlhttp;
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("mydiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("POST","test2.php",true);
xmlhttp.send();
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="test2.php">
<p>
<label for="address"></label>
<input type="text" name="address" id="address" onblur="loadXMLDoc()" />
<input type="submit" name="submit" id="submit" value="Submit" />
</p>
<p><div id = 'mydiv'></div></p>
</form>
</body>
</html>
test2.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php
echo "Your Address is ".$_POST['address'];
?>
</body>
</html>
我确信这是一个非常简单的问题,但我不知道如何解决它。有什么帮助吗?
答案 0 :(得分:2)
您没有发送任何名称为address
我假设您将input name="mail"...
重命名为input name="address"
,将会对此情况有所了解。
作为替代解决方案......改变:
<?php
echo "Your Address is ".$_POST['address'];
?>
到这个
<?php
echo "Your Address is ".$_POST['mail'];
?>
答案 1 :(得分:2)
我在HTML代码中没有看到“地址”。你有一个文本框:
<input type="text" name="mail" id="mail" onblur="loadXMLDoc()" />
但它的名字是'邮件',而不是'地址' 你可以这样做:
<?php
echo "Your Address is ".$_POST['mail'];//instead of 'address'
?>