Ваня Семенов
11 июня 2012

Интерфейс для сайта транспортной компании. Фура идёт по заранее заданному графику, и пользователь может указать желаемое время прибытия на загрузку только в определённом интервале.

Как лучше реализовать контрол выбора даты и времени?

У меня есть несколько вариантов, но все несколько смущают:

1. Если пользователь выберет другую дату в первом списке, а во втором будет неподходящее значение времени, то придётся сообщать об ошибке. Лишнее усложнение и вероятность запутать пользователя.

2. В объединённом списке предыдущей проблемы нет, но сам список получается слишком длинным (особенно если интервал будет в несколько дней).

3 и 4 получаются громоздкими при увеличении интервала до нескольких дней.



Ваня!

Я предлагаю совместить ваши идеи.

Возьмите за основу второй вариант, но выпадающий список сделайте нестандартно:


Непрерывная шкала времени проворачивается вправо-влево на 24 часа при смене даты, при этом ползунок «упирается» в края диапазона. Это даёт возможность избежать сообщений об ошибках и делает наглядными ограничения времени.

P. S.

Дата следующего набора в Школу стажёров пока неизвестна.

 
Мы напишем вам, когда будет открыт набор. Без спама.

Поделиться

Комментарии

Егор Стремоусов
11 июня 2012

В первом варианте: после выбора даты во второй список можно подгружать только доступные часы прибытия на загрузку (например, асинхронно, аяксом). Это решит упомянутую проблему несоответствия выбранного времени выбранной дате.

Если же выпадающий список с датой получается очень длинным, его можно снабдить раскрывающимся календариком.

Александр Дебкалюк
11 июня 2012

Даже в предложенном решении может быть ситуация, когда ползунок или любой другой контрол будет стоять на недопустимой отметке.

Потому в любом случае нужно понятно и неагрессивно (не жирным красным) сообщить пользователю о том, что в выбранное им время транспорт не прибудет.

Это нормально, ведь такое ограничение — не в компьютере, а в реальном графике работы.


15 июня 2012

Александр, не совсем вас понял. Ползунки как раз помогают «физически» ограничивать доступные значения без всяких сообщений.

Александр Дебкалюк
19 июня 2012

А. Г., сценарий такой:

Выбираю 23 апреля. Устанавливаю 20:00. Затем выбираю 24 апреля.

Но 24 апреля работают до 18:00 и ползунок уже не может находится в положении 20:00, которое я выбрал ранее.

Вариант 1: ползунок перескакивает на позицию 18:00.

Вариант 2: ползунок остается на позиции 20:00 но сигнализирует мне как-то о том, что 20:00 — недоступное время.


14 июля 2012

Александр!

Конечно же, первый вариант правильный.

Только в моём элементе ползунок не просто перескочит. При переключении с 23 на 24 апреля временная шкала поедет справа налево, и когда ползунок «упрётся» в 18:00, переезжающая шкала сдвинет его влево и остановится :-)


Цель рубрики — обсуждение вопросов дизайна всех видов, текста в дизайне и взаимоотношений дизайнеров с клиентами.

Мы публикуем комментарии, которые добавляют к уже сказанному новые мысли и хорошие примеры. Мы ожидаем, что такие комментарии составят около 20% от общего числа.

Решение о публикации принимается один раз; мы не имеем возможности комментировать или пересматривать свое решение, хотя оно может быть ошибочно. Уже опубликованные комментарии могут быть удалены через некоторое время, если без них обсуждение не становится менее ценным или интересным.

Вот такой веб 2.0.

Недавно всплыло

1 3

Как же мне сделать систему, удобную и понятную для конечного пользователя?

2
Собеседница психует и кидает трубку. Причём до этого дама была вполне адекватной, и мы нормально работали 1