1:我想让用户全部输入的数字,我是这样写的
 if(isNaN(document.getElementById('txtP10_02').value))
    {
        return alert("请输入数字!");
    }
但是,我用的onKeyUp,但是我想让用户如果输入了一个字母的时候,自动提示,并且自动把这个字母给取消了。
如当前值为12,当用户再输入一个a的时候,这个a就不写入文本框,直接提示“请输入数字”
2:字符截取的问题
就是我想保留两位小数,我是这样写的:
fP10_04 =  Math.round(document.getElementById('txtP10_04').value*100)/100;
这样写其实很麻烦,而且在做加运算的时候,加起来的数也必须math一下,要不要有可以成为如1.25999999999的这种情况,请问大家是怎么做的,谢谢

解决方案 »

  1.   

    TextBox里面的onchange不起作用啊?
      

  2.   

    :我想让用户全部输入的数字,我是这样写的
    if(isNaN(document.getElementById('txtP10_02').value))
    {
    return alert("请输入数字!");
    }
    但是,我用的onKeyUp,但是我想让用户如果输入了一个字母的时候,自动提示,并且自动把这个字母给取消了。
    如当前值为12,当用户再输入一个a的时候,这个a就不写入文本框,直接提示“请输入数字”
    <script>
    function IsNumeric(evt)
    {
        code = evt.keyCode;
            return IsNumericAllow(code);
    }
    function IsNumericAllow(code)
    {
        if ((code>95 && code<106) || (code>32 && code<41) || (code>47 && code<58) || code==8 || code==46 || code==9 || code == 13)
                {
            return true;
                }
        else
                {
                    alert("只能输入数字"); 
            return false;
                }
    }
    </script><input type="text" onkeydown="IsNumeric(event);" />
      

  3.   

    <input   onkeyup="value=value.replace(/[^\d]/g,'')   "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))">
    接分
      

  4.   

    楼主
    1. 你用isNaN来判定是不是数字是不行的... 如果我输入"222 " 也能通过验证,所以应该用正则表达式...
    var regs=/^\d+$/;
    if(!regs.test(document.getElementById('txtP10_02').value))
        {
            return alert("请输入数字!");
        }2.想保留2位数字var regs2=/(\+|\-)?\d+(?=\.\d+)\.\d{2}/i;
    var str=document.getElementById('txtP10_04').value.match(regs2)[0];
      

  5.   

    大家不知道看过CSDN的帖子给分的那个管理没有
    你输入其它非数字字符的时候根本输入不进去的,大家可以试一下,我就想达到那个效果
      

  6.   

    长度截取var a=123466.111111111111
    alert(a.toFixed(2));