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イベントを使用する方法に一貫性がないことです。この投稿を読んで、回避策の例を含む適切な説明を入手してください。

于 2012-09-25T05:17:54.790 に答える
0

イベントでキーコードを調べていますkeypresscharCode代わりに値を確認する必要があります。

于 2012-09-25T12:18:32.257 に答える