asp文本框的键盘仅返回以前的数据

时间:2013-07-19 05:09:27

标签: javascript asp.net

我正在使用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");
                    }
                }

2 个答案:

答案 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!!!
}

参见 - &GT; How to make keypress event of asp textbox?