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);
                    }   
                }
            });
        });

除了三星 Galaxy Tab 10.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");

我自己没有要测试的三星平板电脑。

于 2012-12-05T21:27:34.080 回答