AJAX无法使用文本框

时间:2012-07-30 20:34:30

标签: php ajax

我正在学习AJAX并创建了这个简单的代码。我在文本框中输入内容,它应该返回屏幕上弹出的单词。当我点击按钮时,这能够工作,但现在我将其更改为文本框,它不再有效。这是第一个包含XML HTTP请求数据和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';

?>

[求助]:感谢Matt for Javascript Console。发现我编辑出来的一些评论毕竟影响了代码。我不认为HTML评论可以做到这一点。经验教训。

2 个答案:

答案 0 :(得分:1)

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

你很可能有你没有抓到的javascript错误。

答案 1 :(得分:0)

我只是将代码复制到我的机器上,它完美无缺。

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