0

私は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>

非常に単純な問題だと確信していますが、解決方法がわかりません。助けはありますか?

4

2 に答える 2

2

次の名前の入力を送信していませんaddress

名前を変更するinput name="mail"...input name="address"、状況が明らかになると思います。

代替ソリューションとして...変更:

<?php
echo "Your Address is ".$_POST['address'];
?>

これに

<?php
echo "Your Address is ".$_POST['mail'];
?>
于 2012-12-15T10:58:43.040 に答える
2

HTML コードに「アドレス」がありませんでした。1 つのテキスト ボックスがあります。

<input type="text" name="mail" id="mail" onblur="loadXMLDoc()"  />

ただし、名前は「アドレス」ではなく「メール」です。これを行うことができます:

<?php
echo "Your Address is ".$_POST['mail'];//instead of 'address'
?>
于 2012-12-15T11:00:27.363 に答える