GUI контроль для представления количества времени - PullRequest
0 голосов
/ 21 июня 2010

У меня есть вход, спрашивающий отправителя, сколько времени заняло событие. Прямо сейчас это обычное текстовое поле, которое должно выдавать ошибку, если передается что-то кроме целого числа. Я говорю отправителю ввести длину в целых минутах.

Тем не менее, мыслить в считанные минуты не лучшая способность мозга ... Также не следуете инструкциям, поэтому я часто получаю «запросы поддержки», в которых говорится, что «мой ввод 1,5 часов не сработал».

Есть ли какой-нибудь хороший способ запросить у пользователя длительность и принять ответ, кроме минут?

Ответы [ 3 ]

2 голосов
/ 21 июня 2010

Почему бы вам не сделать свой элемент управления более интеллектуальным и не допустить его ввода: 1h, 40m, 1.5h, 1,5h, 2d5h и т. Д. При желании вы можете "AJAXly" "проанализируйте это значение на стороне сервера и предоставьте подсказку, в которой будет указано, как именно ваша программа будет интерпретировать это значение.

                -----------------
Enter Timespan: | 2d1.5h        |   (2 days and 1.5 hours, 25.5 hours total)
                -----------------

Кроме того, вы можете использовать некоторые разумные значения по умолчанию, например, 1.5 (или 1,5), скорее всего, 1,5 часа, а не 1,5 минуты, и их следует интерпретировать как таковые. 0,5 - это тоже не 30 секунд, а 30 минут и т. Д.

0 голосов
/ 21 июня 2010

Вы можете отобразить несколько полей ввода, принимающих целые числа, каждое для определенной единицы времени:

Time:  [  1 ] day  [  4 ] hours    [ 26 ] minutes   [ 42 ] seconds

Пользователь может заполнить любое поле или оба.

0 голосов
/ 21 июня 2010

Простой способ сделать это - иметь поле для ввода данных с плавающей запятой и другой элемент управления для выбора единиц измерения. Например

Time: [ 4.1     ] [ hours ] <- select units from this drop down box
Time: [ 0.5     ] [ days  ]
Time: [ 1e-3    ] [ years ]

Код вашего сервера может перечислять единицы для генерации элемента управления и интерпретации представления.

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

(Сказав это, мне очень нравится ответ Антона Гоголева. Если вы можете выполнить его, сделайте это.)

...