TimeTextBox и DateTextBox

Специализированные процедуры проверки дат и времени – еще одна разновидность задач, которую приходилось решать практически каждому вебразработчику в тот или иной момент времени. Несмотря на то что у дат и времени имеются четко определенные форматы представления, тем не менее слишком универсальный элемент INPUT языка разметки HTML не предлагает их поддержки, поэтому для решения проблемы проверки правильности приходится писать программный код JavaScript. К счастью, библиотека Dijit предполагает максимально простую возможность ввода даты и времени. Эти диджиты предусматривают представление дат и времени с учетом большинства наиболее распространенных региональных настроек, а добавить новые настройки, не входящие в стандартный набор, не составляет труда.

Предположим, что вместо забрасывания вас электронными письмами некая организация решила досаждать вам после тяжелого трудового дня, добиваясь вас по домашнему телефону. Естественно, чтобы не перетрудиться, бесплодно пытаясь дозвониться до вас в ваше отсутствие, они должны вытащить из вашей головы информацию о том, когда вы будете дома. Допустим, что они оказались настолько грамотными, чтобы использовать инструментарий Dojo и сэкономить на разработке программного обеспечения; тогда они могли бы предусмотреть такие поля в форме:

Best Day to call:
(br)
Best Time to call:
(br)

Вот и все! Для этого не потребовалось никаких дополнительных усилий.


При получении фокуса ввода диджит DateTextBox автоматически показывает небольшой привлекательный календарь для выбора даты, а диджит TimeTextBox – прокручиваемый список со значениями времени с 15минутными интервалами.

Точно так же легко можно создать эти диджиты и программным способом:
var t = new dijit.form.TimeTextBox();
var d = new dijit.form.DateTextBox();
/* теперь их следует поместить на страницу с помощью их атрибутов domNode */

Кроме того что они просты в использовании, эти диджиты позволяют также реализовать собственное форматирование отображаемых значений, для чего можно использовать модуль dojo.date, применяемый этими диджитами в своей работе. В частности, для воспроизведения соответствующих эффектов можно использовать свойства formatLength, timePattern и datePattern объекта constraints.

Объект constraints передается в разметке, как любой другой атрибут:
dojoType="dijit.form.DateTextBox">
Точно так же просто он передается программным способом:
var d = new dijit.form.DateTextBox({datePattern:'MMM dd, yyyy'});

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Dojo на эту тему:
Button
CheckBox
ComboBox
ComboButton
CurrencyTextBox

Вернуться в раздел: Dojo / Виджеты форм