我有一个文本框设置方式如下:
<input type="text" name="CardNumber" id="CardNumber" maxlength="7" onkeypress="if(isNaN(this.value+String.fromCharCode(event.keyCode))) return false;" onblur="ValidateCardNumber()"/>
(注意:ValidateCardNumber()是一个单独的函数,用于检查其他内容的长度,但它不是将字段限制为数值的一部分。)
这在IE中运行良好。它允许我输入数字但忽略非数字按键。
在Firefox中,我无法在该文本框中输入任何内容。
有什么想法吗?
我对不同的方法持开放态度。
感谢。
答案 0 :(得分:4)
调试会显示问题
console.log(this.value+String.fromCharCode(event.keyCode));
看着你会看到的控制台
现在看看它的回归
console.log(this.value, event.keyCode);
因此密钥代码总是返回零。
您需要做的是使用event.which
for firefox
console.log(this.value+String.fromCharCode(event.which || event.keyCode));