我有一个表单,当我通过按键输入所有其他浏览器的字符时,它允许用户这样做。但是当我使用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();"/>
答案 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))"