<input id=txt onkeypress="return check(event)">
<script language=javascript>
function check(e)
{
    if (((e.keyCode>=48) && (e.keyCode<=57)) || (e.keyCode=45) || (e.keyCode=46))
         return true
    else
         return false
}
</script>
这样的话,就不能填入非数字了
其中asc码为45的是负号,为46为小数点,48是零,57是9

解决方案 »

  1.   

    jhlcss(阿龙):你的方法只能屏蔽,不能保证输入的内容一定能转为数据类型,
    另外如何把String转为Number呢?
    还有是“==”不是“=”
      

  2.   

    <script language="JavaScript">
    function check(){
    for(i=0;i<document.form1.elements.length;i++)
    {
    if(document.form1.elements[i].type=="text")
    {
    entervalue = document.form1.elements[i].value;
    if(entervalue!='-')
    {
    if(((entervalue-0).toString())=="NaN")
    {
    var entervaluelength = entervalue.length;
    document.form1.elements[i].value=entervalue.substring(0,(entervaluelength-1));
    }
    }
    }
    }
    setTimeout("check()",1);
    }
    </script>
    <body onload="check()">
    <form name=form1>
    <input name=mytext>
    <input name=mytext2>
    输入过程中即时检查页面上所有文本框
    </form>