Каков наилучший подход для получения даты / времени от пользователя? - PullRequest
15 голосов
/ 24 февраля 2009

Это колесо, которое изобреталось снова и снова на протяжении многих лет.

Проблема: пользователю необходимо ввести дату / время

Основные положения

  • Мы хотим, чтобы пользователь как можно проще вводил желаемую дату / время
  • Некоторые приложения запрашивают исторические даты, некоторые приложения запрашивают только будущие даты, некоторым нужно будет обрабатывать оба
  • Мы хотим запретить пользователю вводить данные на фальшивом ходу
  • Мы хотим автоматически заполнить этот элемент управления максимально агрессивно.
  • Мы хотим, чтобы этот элемент управления использовался как можно больше.

Популярные решения включают в себя:

  • Текстовые поля
  • комбинированные поля
  • всплывающие календари
  • Проверка на стороне сервера и / или на стороне клиента
  • Различные способы оповещения пользователей о неверных данных

Существует множество готовых решений, но я ищу более общую информацию. Были ли проведены какие-либо исследования юзабилити по различным методам контроля даты и времени? Есть ли лучший выбор даты и времени? Есть ли какие-нибудь устоявшиеся «что нужно и чего не делать»?


Смежный вопрос: Лучшие графические элементы управления для описания диапазона времени

Ответы [ 12 ]

0 голосов
/ 24 февраля 2009

Вам необходимо проверить требования к пользовательскому интерфейсу. Если вам нужна только поддержка с поддержкой сценариев, вы можете использовать любую из ваших настроек сценариев и запускать их в любом формате даты / времени, который они предоставляют, в скрытое поле.

Однако, если вам нужна запись пользователя в текстовом поле, тогда вы столкнетесь с некоторыми решениями:

  • Является ли формат даты / времени жестким? например мм / дд / ггг чч: мм: только формат ss?
  • Или условно, чтобы включить записи в стиле «сегодня», «завтра», «23 января»?
  • Будут ли форматы привязаны к конкретной локали? например мм / дд / гггг против дд / мм / гггг

Методы проверки зависят от ваших решений по требованиям.

Мне нравится плагин jQuery date-picker . Это позволит выводить данные в определенных форматах.

0 голосов
/ 24 февраля 2009

Я бы выбрал три варианта в зависимости от ситуации:

  1. 2 поля со списком. Один листинг год + месяц, другой день
  2. 3 поля со списком. Один список лет, один месяц, один день
  3. Видимый календарь / с и комбо как у YUI

И я считаю, что есть еще варианты, из которых я бы выбрал.

...