0

我使用以下 java 脚本函数进行整数验证,这意味着文本框可以只允许单独输入整数值。*它在 Internet Explorer 和 google chrome 中运行良好*。但我在 FireFox 中使用相同的功能,文本框不允许在其中输入任何字符,这意味着它不允许字符、数字、空格和其他任何内容。 。如何解决这个问题呢?

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""/>
4

2 回答 2

0

您正在检查keypress事件中的键码。您应该charCode改为查看值。

于 2012-09-25T12:18:32.257 回答
0

您的问题是浏览器使用 keypress 事件的方式不一致。阅读这篇文章以获得一个很好的解释,其中包含一个解决方法的例子。

于 2012-09-25T05:17:54.790 回答