Ввод с клавиатуры с помощью средства выбора даты Webshim
Я использую библиотеку webshims для лучшей поддержки старых браузеров с более современными функциями. Хотя средство выбора даты отлично работает с мышью, у меня, похоже, возникают проблемы с его использованием с клавиатуры. Самый простой способ убедиться в этом - посетить демонстрационную страницу. Я использую Firefox, так как он не поддерживает дату.
Не внося никаких изменений, попробуйте ввести дату. Я могу ввести цифры, но не могу ввести "/". Если вы включите заполнитель, он даже предлагает косую черту. Я попытался опустить разделитель или использовать "-" (что позволяет мне печатать), но когда форма отправляется, я не получаю значения.
Как вы должны вводить дату с помощью клавиатуры?
Для бонусных баллов можно ли разрешить сборщику даты не применять формат? У меня есть внутренний код, который может анализировать различные форматы дат. Таким образом, они могут использовать средство выбора даты, если хотят, но если они что-то вводят, то все, что они вводят, отправляется на сервер без изменений.
2 ответа
Попробуйте это. Это работает для формата '/'.
$.webshims.formcfg = {
en: {
dFormat: '/',
dateSigns: '/',
patterns: {
d: "mm/dd/yy"
}
}
};
webshims.activeLang('en');
Похоже, что есть проблема с настройками локали. Из того, что я могу сказать, есть атрибут конфигурации формы с именем 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: '/',
Это ужасный хак, и должен быть способ установить это как конфигурацию, или, по крайней мере, получить реальные настройки локали, чтобы справиться с этим. Но мне не удалось в то ограниченное время, которое у меня есть. Но, возможно, это поможет вам. Меня устраивает.