我正在使用asp文本框。我想在按键上处理数据。我的问题是当我输入数据时我只获得以前的数据。
例如:输入'hai',但只获得'ha'on keypress
function CheckStreet(e)
{
var myStreet = new Array("ALEXANDER ST", "ALLEN AVE");
for (var i = 0; i < myStreet.length; i++)
{
if (e.value.toUpperCase() == myStreet[i])
alert("Please enter another");
}
}
答案 0 :(得分:0)
请改用keyup事件。它会为您提供更新的文本。 除了没有给你更新的值 - keypress只触发可打印的字符,所以它不会触发退格等(至少不在IE中)
答案 1 :(得分:0)
如果您不想使用keyup,请尝试keydown
$('id').on('keydown', function(e) {
//your action goes here!!!
});
<强>的javascript !! 强>
document.getElementById('id').onkeydown = function(event){
event = event || window.event;
var keycode = event.charCode || event.keyCode;
if(keycode === 32){//any key has a unique code,try this.
//your function
}
}
如果它还没有工作 - &gt;
请参阅 - &gt; No keypress event for asp textbox
<强> UPDATE - &GT; 强>
<asp:TextBox ID="myid" onkeypress="myFunction; return false;"></asp:TextBox>
function myFunction() {
//your code!!!
}