ID爲'typehere'的輸入類型。在typhere上有一個keydown事件。簡單的問題是e.srcElement.value似乎有一個關鍵值。即如果該值應該是'',則將其安慰'作爲空白'進行報告。如果我輸入'ss',則顯示的值是's'。我似乎無法弄清楚這一點。 console.log(e)顯示e.srcElement.value(在控制檯中)的正確值,但console.log(e.srcElement.value)顯示錯誤的值。爲什麼?e.target.value顯示一個鍵'後面'的值
<script type="text/javascript">
var xmlHttp = createXmlHttpRequestObject();
selectOption = document.getElementById('choose_colony') ;
document.body.onload = function() {
typehere = document.getElementById('typehere') ;
addAnEvent(typehere,"keydown",handleKeyDownevent,false) ;
}
function handleKeyDownevent (e) {
e = e || window.event ;
if (xmlHttp) {
try {
//xmlHttp.open('GET' , 'async.txt', true) ;
console.log(e.srcElement.value) ;
var target= e.target || e.srcElement ;
var typed = target.value ;
if (typed != ""){
console.log('sennding request') ;
//ajax request
}
else {
console.log(e.srcElement.value + "is blank") ;
}
}
catch(e) {
console.log('could not connect to server') ;
}
}
}
</script>
腳本標籤是標籤之前BTW
感謝
我有我的代碼實現相同的麻煩。但這顯然是解決方案。謝謝 – 2012-02-07 14:07:18
好吧,它的工作。我錯誤地使用了settimeout。 – 2012-02-07 14:09:34
不能'keyup'有用嗎? ...以及等待用戶釋放密鑰需要多長時間? – Stefan 2012-02-07 14:23:14