使用 Webshim 的日期选择器进行键盘输入
Keyboard Input with Webshim's Date Picker
我正在使用 webshims 库来更好地支持具有更多现代功能的旧浏览器。虽然日期选择器与鼠标配合使用效果很好,但我似乎无法通过键盘使用它。最简单的查看方法是访问 demo page。我正在使用 Firefox,因为它不支持日期。
不做任何修改尝试输入日期。我可以输入数字,但不能输入“/”。如果启用占位符,它甚至会建议使用斜线。我尝试省略分隔符或使用“-”(它让我输入)但是当表单提交时我没有得到任何值。
您应该如何通过键盘输入日期?
为了加分,是否可以让日期选择器不强制执行某种格式?我有可以解析各种日期格式的后端代码。因此,如果他们愿意,他们可以使用日期选择器,但如果他们输入了一些内容,那么他们输入的任何内容都会不加修改地发送到服务器上。
区域设置似乎有问题。据我所知,在区域设置中设置了一个名为 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: '/',
这是一个可怕的 hack,必须有一种方法可以将其设置为配置,或者至少获得真正的语言环境设置来处理这个问题。但我没能在有限的时间内完成。但也许这会对你有所帮助。它对我有用。
尝试 this.This 适用于 '/' 格式..
$.webshims.formcfg = {
en: {
dFormat: '/',
dateSigns: '/',
patterns: {
d: "mm/dd/yy"
}
}
};
webshims.activeLang('en');
我正在使用 webshims 库来更好地支持具有更多现代功能的旧浏览器。虽然日期选择器与鼠标配合使用效果很好,但我似乎无法通过键盘使用它。最简单的查看方法是访问 demo page。我正在使用 Firefox,因为它不支持日期。
不做任何修改尝试输入日期。我可以输入数字,但不能输入“/”。如果启用占位符,它甚至会建议使用斜线。我尝试省略分隔符或使用“-”(它让我输入)但是当表单提交时我没有得到任何值。
您应该如何通过键盘输入日期?
为了加分,是否可以让日期选择器不强制执行某种格式?我有可以解析各种日期格式的后端代码。因此,如果他们愿意,他们可以使用日期选择器,但如果他们输入了一些内容,那么他们输入的任何内容都会不加修改地发送到服务器上。
区域设置似乎有问题。据我所知,在区域设置中设置了一个名为 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: '/',
这是一个可怕的 hack,必须有一种方法可以将其设置为配置,或者至少获得真正的语言环境设置来处理这个问题。但我没能在有限的时间内完成。但也许这会对你有所帮助。它对我有用。
尝试 this.This 适用于 '/' 格式..
$.webshims.formcfg = {
en: {
dFormat: '/',
dateSigns: '/',
patterns: {
d: "mm/dd/yy"
}
}
};
webshims.activeLang('en');