输入框在firefox中取数值

时间:2012-02-28 11:35:56

标签: javascript firefox

使用此代码,用户无法输入数值。在谷歌浏览器中,输入框不是数字值,但在Firefox中需要。我没有得到,为什么会这样。任何帮助表示赞赏。

<input type="text" name="station_name" id="station_name" onKeyPress="return noNumbers(this)" maxlength="45" />

这是我的javascript函数

<script type="text/javascript" language="javascript">
 function noNumbers(evt)
            {
                var charCode = (evt.which) ? evt.which : event.keyCode;
                if((charCode>=65 && charCode<=90)||(charCode>=97 && charCode<=122)||(charCode==32))
                    return true;
                return false;
            }
</script>

2 个答案:

答案 0 :(得分:2)

这是因为在Firefox中,事件作为参数传递给事件处理程序。 window对象的event属性仅限IE。

function enterHere(e)
{
    e = e || window.event;
    var code = e.keyCode || e.which;
    if(code == 13)
        find();
}

答案 1 :(得分:1)

您在以下行中传递this,传递event

<input type="text" name="station_name" id="station_name" onKeyPress="return noNumbers(event)" maxlength="45" />

修改 好吧尝试下面的follwoing函数和输入标记:

function noNumbers(evt)
            {
                var charCode = evt.keyCode || evt.which;
                if((charCode>=65 && charCode<=90)||(charCode>=97 && charCode<=122)||(charCode==32)||||(charCode==8))
                    return true;
                return false;
            }