使用Webshim的日期选择器进行键盘输入

时间:2015-08-13 13:43:44

标签: polyfills keyboard-navigation webshim

我正在使用webshims库来更好地支持旧浏览器以及更多现代功能。虽然日期选择器与鼠标的效果很好,但我似乎在使用键盘时遇到问题。最简单的方法是访问demo page。我正在使用Firefox,因为它没有日期支持。

不进行任何修改,请尝试输入日期。我可以输入数字,但我不能输入“/”。如果启用占位符,它甚至会建议使用斜杠。我试图省略分隔符或使用“ - ”(它允许我输入)但是当表单提交时我没有得到任何值。

你应该如何通过键盘输入日期?

对于奖励积分,是否可以允许日期选择器不强制执行格式?我有后端代码,可以解析各种日期格式。因此,如果他们愿意,他们可以使用日期选择器,但如果他们输入内容,那么他​​们输入的内容将被发送到服务器而不进行修改。

2 个答案:

答案 0 :(得分:2)

试试这个。这适用于' /'格式..

 $.webshims.formcfg = {
      en: {
        dFormat: '/',
        dateSigns: '/',
        patterns: {
          d: "mm/dd/yy"
        }
      }

    };
    webshims.activeLang('en');

答案 1 :(得分:1)

区域设置似乎存在问题。据我所知,有一个名为dateSigns的表单配置属性,它在区域设置中设置。

我的解决方案是转到文件shims/combos/5.js并查找包含dateSigns的代码块。我在第1750行附近找到了美国英语的相关内容,如下所示:

    if(!formcfg['en-US']){
        formcfg['en-US'] = $.extend(true, {}, formcfg.en, {
            date: {firstDay: 0},
            patterns: {d: "mm/dd/yy"},
            dateSigns: '-',
          dFormat: "/",
            meridian: ['AM', 'PM']

        });
    }

我将dateSigns行更新为

dateSigns: '/',

这是一个可怕的黑客攻击,必须有一种方法可以将其设置为配置,或至少获得真正的区域设置来处理这个问题。但我没有在有限的时间内完成任务。但也许这会对你有所帮助。它对我有用。