我正在学习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
。