まず、これが理解するのが本当に難しい場合は申し訳ありませんが、私が説明するのはかなり複雑です. また、私はこの Ajax のことも初めて知りました。
次のスクリプトがある page1.php があるとします。
function change(str) {
if (str=="") {
document.getElementById("servicetxt").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("servicetxt").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","change.php?a="+str,true);
xmlhttp.send();
}
on change.php 私はテキストフィールドを作成しているので、 page1.php で change 関数を呼び出すと表示されます。しかし、ユーザーがこのテキスト フィールドに入力しているときに新しい要求を作成したい場合はどうすればよいでしょうか (次のような提案応答: w3schools ajax )。change.php で次のことを試みました。
<script type="text/javascript">
function gethint(str) {
if (str=="") {
document.getElementById("hint").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("hint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","gethint.php?a="+str,true);
xmlhttp.send();
}
</script>
<?
echo "<input type=\"text\" name=\"varenummer\" onkeyup=\"gethint(this.value)\">";
echo "<p>Suggestions: <span id=\"hint\"></span></p>";
?>
しかし、これはうまくいきません。これに対する迅速で簡単な答えはないかもしれません。その場合は、このパズルの解決方法を教えてくれる良い記事/チュートリアルを教えてください:)