Textfield不允许我在Firefox中的keypress上输入字符

时间:2014-02-04 11:14:30

标签: javascript html firefox

我有一个表单,当我通过按键输入所有其他浏览器的字符时,它允许用户这样做。但是当我使用Firefox时,它不允许用户通过按键输入字符,但允许用户复制和粘贴。以下是我的脚本:

<script language="javascript">
function aaa(){
            document.getElementById('txtwebref').style.color = 'black';
}
</script>

<input name="txtwebref" type="text" id="txtwebref" size="50" value="Insert reference number" style="width:350px; height:50px; border:1px solid #000; border-radius:15px; text-align:center;color:#CCC; font-family:Arial, Helvetica, sans-serif; font-size:24px;" onkeypress="if ( isNaN(this.value + String.fromCharCode(event.keyCode) )) return false;" onfocus="blank(this);" onblur="unblank(this)" onclick="aaa();"/>

2 个答案:

答案 0 :(得分:1)

window.event不是标准JavaScript。

“DOM方式”也是如此,为onkeypress属性分配一个函数。它的第一个参数是一个Event对象。

像这样:

<input name="txtwebref" type="text" id="txtwebref" size="50" value="Insert reference number" style="width:350px; height:50px; border:1px solid #000; border-radius:15px; text-align:center;color:#CCC; font-family:Arial, Helvetica, sans-serif; font-size:24px;" onfocus="blank(this);" onblur="unblank(this)" onclick="aaa();"/>
<script type="text/javascript">
    document.getElementById('txtwebref').onkeypress = function checkMe(ev) {
        return !isNaN(this.value + String.fromCharCode(ev.keyCode) );
    }
</script>

答案 1 :(得分:0)

你需要

onkeypress="return !isNaN(this.value + String.fromCharCode(event.charCode))"