Указание вывода значения типа ввода HTML5 = дата?
Я хочу добавить собственные приложения для выбора даты в мое приложение, которое в настоящее время использует устаревшую домашнюю систему. Поддержка ввода даты еще не получила широкого распространения, но если бы я мог представить обе реализации на основе совместимости, это было бы идеально.
Можно ли указать вывод значения, заданного параметром date date? По умолчанию для opera yyyy-mm-dd
, и мне очень явно требуется dd-MMM-yyyy
.
Есть ли способ управлять этим выходом, в настоящее время?
Ответы
Ответ 1
В поле поле ввода HTML5 указано конкретное значение используемого формата:
RFC 3339 full-date
Можно ли изменить устаревший выбор даты, чтобы использовать формат yyyy-mm-dd (и обновить серверную сторону, которая читает это)?
Я предполагаю, что нет, поэтому вы можете добавить некоторый код скриншота Javascript, который прослушивает событие изменения на входе HTML5 и обновляет поле значения скрытой даты в соответствии с форматом устаревшего выбора даты (конвертирует yyyy-mm-dd в дд-MMM-YYYY).
Ответ 2
В Google Chrome это недавно изменилось. Значения, отображаемые пользователю, теперь основаны на локали операционной системы. Однако считывание, поэтому input.value
всегда возвращается как yyyy-mm-dd
независимо от формата презентации.
Насколько полезен мой взгляд.
Источник:
http://updates.html5rocks.com/2012/08/Quick-FAQs-on-input-type-date-in-Google-Chrome
Ответ 3
Формат поля даты HTML является стандартным. Хотя это невозможно изменить, вы можете легко конвертировать из объекта даты в формат, который вы ищете, если у вашего пользователя включен JavaScript.
// Converts any valid Date string or Date object into the format dd-MMM-yyyy
function dateTransform(d) {
var s = (new Date(d)).toString().split(' ');
return [s[2],s[1],s[3]].join('-');
}
В противном случае вам нужно будет отправить в формате ISO и реализовать серверное решение. Возможно, со временем это может привести к большему использованию стандартного формата даты в каждой местности.