ユーザーが名前を送信するために現在のページを離れる必要がないように、フォームでAJAXを使用しようとしています。ユーザーが自分の名前を入力したときに機能する機能があります。入力中に自動的に変更されます。私が苦労しているのは、名前を送信するためのonClickです。PHP ファイルからの応答がありません。理由がわかりません。これが私のコードです:
フォーム ページ: (submit 関数は、GET 要求を介してグローバル変数を介して名前を送信します)
<script type="text/javascript">
//Decalre the variables of name as Global variable
var name;
//For IE 5 + 6
function httpReq(){
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
return xmlhttp=new XMLHttpRequest();
} else {
// code for IE6, IE5
return xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
function nameTest(str) {
if (str.length==0) {
document.getElementById("nameTest").innerHTML="Please enter your name.";
return;
}
httpReq();
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("nameTest").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","nameTest.php?q="+str,true);
xmlhttp.send();
return name = str;
}
// function to submit the users details to the database
function submit(str) {
httpReq();
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("submitted").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","mailing-list.php?name="+name, true);
xmlhttp.send();
}
</script>
Name: <input type="text" onkeyup="nameTest(this.value)">
<span id="nameTest">Please enter your name.</span>
<input style="width: 100px; height: 40px;" type="button" onclick="submit" value="Join!">
<span id="submitted"></span>
応答を返さないPHPページ(応答が返るまで単純な内容をエコーするだけです):
<?php
$name = $_GET["name"];
echo "Hello There " + $name;
?>
返信がない理由が分からないようです。どんな助けでも大歓迎です!