AJAX无法使用文本框


AJAX not working with text box

我正在学习AJAX并创建了这个简单的代码。我在文本框中键入了一些内容,它应该会返回屏幕上弹出的单词something。当我点击一个按钮时,这是可以工作的,但现在我把它改成了一个文本框,它就不再工作了。这是第一个包含XMLHTTPRequest数据和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>

当用户在文本框中键入内容时,我想打开第二个文件。

<?php 
echo 'something';
?>

[SOLVED]:感谢Matt的Javascript控制台。发现一些我编辑掉的评论毕竟影响了代码。我不认为HTML注释可以做到这一点。经验教训。

打开javascript控制台(Chrome中的F12),查看是否有任何错误(由弹出窗口底部的红色X指示)。

您很可能有没有捕捉到的javascript错误。

我刚刚把代码复制到我的机器上,它运行得很好。

不过,作为一个想法,也许你的浏览器对onkeydown很有趣。请改用onKeyDown