4

テキスト入力に日付形式(00/00/0000)を適用しようとしています

(入力にはmaxlength = "10"があり、検証は個別に処理されます)。

これが私が使用するコードです(jQuery):

        $(function() {

            $('input').live('keydown keyup', function(e) {

                var str = $(this).val(), len = str.length;

                if (e.which != 8) { /* Backspace */

                    if (len == 2 || len == 5) {

                        str += '/';

                        $(this).val(str);
                    }   
                }
            });
        });

これは、Samsung Galaxy Tab10.1のAndroidネイティブブラウザとDolphinブラウザを除いて、テストしたすべての場所で正常に機能します。

問題は、フォーカスされている間は入力値を変更できないことです。フォーカスが失われると、文字列の最後にスラッシュが表示されます。

このバグは文書化されています:http ://code.google.com/p/android/issues/detail?id = 39569

ややハッキーな解決策は、値を更新する必要があるときにフォーカスを失い、再びフォーカスを取り戻すことですが、それでは毎回キーボードを失うことになります。

このバグを回避する方法を見つける方法についての提案はありますか?

4

1 に答える 1

0

このプラグインを試すことができます:

http://digitalbush.com/projects/masked-input-plugin/

次のように指定します。

$("input").mask("99/99/9999");

テストするSamsungタブレットを自分で持っていません。

于 2012-12-05T21:27:34.080 に答える