0
我有一個HTML頁面具有的onkeydown屬性,像這樣一種形式的文字輸入工作正常鍵正在被擊倒。該javascript文件是的onkeydown不是表單輸入
function lookup_user (lname) {
var xmlhttp;
if (lname=='') {
document.getElementById('lname').innerHTML = '';
return;
}
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}
else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
// generally preferred to place onreadystatechange before open so that it detects readyState 0-4 instead of 1-4
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("test").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open('POST', 'lookup_user.php', true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send('lname='+lname);
}
這工作得很好,除了它沒有檢測到第一個keydown的事實。
例如,如果在輸入表單中輸入'D',它不會搜索用戶。當我輸入第二個字符時,它會搜索第二個字符之前的字符,而不包括第二個字符。如果我想查找「Daisy」,並在輸入框中輸入「Daisy」,它將搜索「Dais」。只有當我倒下另一把鑰匙時,它纔會查找「雛菊」。
這是爲什麼?