0

私はAJAXを学び、この単純なコードを作成しました。テキストボックスに何かを入力すると、画面に何かがポップアップするという単語が返されます。ボタンをクリックすると機能しましたが、テキストボックスに変更したため、機能しなくなりました。これは、XMLHTTPリクエストデータとHTMLコードを含む最初のファイルです。

<html>

    <head>
        <script type="text/javascript">
            function load() {
                if (window.XMLHttpRequest) {
                    xmlhttp = new XMLHttpRequest();
                } else {
                    xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
                }
                xmlhttp.onreadystatechange = function () {
                    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                        document.getElementById('results').innerHTML = xmlhttp.responseText;
                    }
                }
                xmlhttp.open('GET', 'test_ajax_return.php', true);
                xmlhttp.send();
            }
        </script>
    </head>

    <body>
        <form id="search" name="search">Type a name:
            <br>
            <input type="text" name="search_text" onkeydown="load();">
        </form>
        <div id="results"></div>
    </body>

</html>

これが、ユーザーがテキストボックスに何かを入力したときに開きたい2番目のファイルです。

<?php 

echo 'something';

?>

[解決済み]:Jatt forJavascriptConsoleに感謝します。私が編集したいくつかのコメントが結局のところコードに影響を与えていることがわかりました。HTMLコメントでそれができるとは思いませんでした。学んだ教訓。

4

2 に答える 2

1

JavaScriptコンソール(ChromeではF12)を開き、エラーがあるかどうかを確認します(ポップアップの下部にある赤いXで示されます)。

ほとんどの場合、キャッチしていないjavascriptエラーが発生します。

于 2012-07-30T20:57:20.530 に答える
0

コードを自分のマシンにコピーしたところ、完全に機能します。

ただし、アイデアとしては、ブラウザが面白いかもしれませんonkeydownonKeyDown代わりに試してください。

于 2012-07-30T20:55:04.320 に答える