Jscript - 在仅数字文本框上获取前后值

Jscript - getting before and after value on a numbers only textbox

我有这个功能可以验证我的文本框中是否输入了数字:

function mudavalor(sender, event) {
    var stringAntesDepois = sender.value;
    if (event.keyCode > 47 && event.keyCode < 58) {
        stringAntesDepois += String.fromCharCode(event.keyCode);
    }

    sender.value = "";
    sender.value = stringAntesDepois;
}

来电者:

<input class="texto" runat="server" onkeydown="mudavalor(this,event)" id="Text1" type="text" />

问题是,奇怪的是,如果我不在 IF 行之前放置 "alert(event.keyCode)",它就不起作用。如果我这样做:

function mudavalor(sender, event) {
    var stringAntesDepois = sender.value;
    alert(event.keyCode);
    if (event.keyCode > 47 && event.keyCode < 58) {

然后就可以正常工作了。

我需要做的:

1 - 检查键入的键是否是 0-9 之间的数字

2 - 如果 "Text1" 字段是数字,则更新

3 - 在 "Text1" 字段上进行任何更改后,我需要将他的值分配到标签上

PS:我无法将 "number" 类型用于 HTML5

欢迎任何帮助

我猜你想要这样的东西:

http://jsfiddle.net/snr00qng/

您应该使用 event.preventDefault() 来忽略键,或者说,忽略默认行为。

这是您可能想要做的事情:

function mudavalor(){
   if(event.keyCode>=48 && event.keyCode<=57){
      document.getElementById('txt').textContent+= String.fromCharCode(event.keyCode);
   }
   else
     event.preventDefault();
}