我使用以下java脚本函数进行整数验证,这意味着文本框只允许输入整数值。 * 在Internet Explorer和谷歌浏览器中工作正常 * 。但是我在FireFox中使用同样的功能,文本框中不允许输入任何字符,这意味着它不允许字符,数字,空格等等。如何解决这个问题?< / p>
javascript功能
$('.intValidate').live('keypress', function(event) {
var integervalidate = intValidate(event);
if (integervalidate == false)
return false;
});
function intValidate(event) {
if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 ||(event.keyCode == 65 && event.ctrlKey === true) ||(event.keyCode >= 35 && event.keyCode <= 39))
{
return;
}
else
{
if (event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 ))
{
event.preventDefault();
}
我使用类,
<input type="text" id="abcd" style="width:30px" maxlength="2"class="intValidate""/>
答案 0 :(得分:0)
您的问题是浏览器使用按键事件的方式不一致。 阅读this帖子以获得有关解决方案示例的详细解释。
答案 1 :(得分:0)
您正在检查keypress
事件中的密钥代码。您应该查看charCode
值。