这是多年来一次又一次重新发明的车轮.
问题:用户需要输入日期/时间
基本考虑因素
我们希望用户能够尽可能轻松地输入所需的日期/时间
有些应用程序需要历史日期,有些应用程序只需要将来的日期,有些应用程序需要同时处理
我们希望阻止用户输入乱码数据
我们希望尽可能积极地自动填充此控件.
我们希望此控件尽可能可重用.
热门方案包括:
文本框
组合框
弹出日历
服务器端和/或客户端验证
提醒用户不良数据的各种方法
有一大堆即食解决方案,但我正在寻找一些更一般的信息.是否对各种日期时间控制方法进行了任何可用性研究?那里有"最佳"的日期时间控制吗?有没有完善的"Dos and Don'ts"?
相关问题:描述时间范围的最佳GUI控件
我的偏好是在文本输入旁边有一个省略号按钮:
Enter a date [ ] [...]
省略号会弹出一个日历来填充文本输入,但用户可以根据需要输入日期.按下表单的"确定"按钮时应该进行验证 - 根据我的经验,尝试按字符进行日期验证是注定要失败的.
验证应该是复杂的,并允许表达式
"today" "Tomorrow" "23 Jan"
等等
编辑:在回复一些评论时,可以在文本编辑失去焦点时进行验证(虽然我讨厌那种事情)在这种情况下,编辑内容可能会从"23 Jan"更改为"23-01-2009"以指示表达了被理解.
给我一个日历,用鼠标选择日期.让我用键盘输入日期.接受尽可能多的格式.如果我需要进入2012年12月21日,请让我使用:
2012年12月21日
21DEC2012
2012年12月21日
12/21/2012(或2012年12月21日,选择一个,可能取决于我使用该软件的国家/地区)
12212012(与上述相同的括号片段)
等等.
无论您决定如何解决本地化问题,请确保您的预期显而易见.给我一个例子,或者MMDDYYYY
我可以输入的模板.
请不要给我我需要滚动的下拉框,特别是多年.如果我老了,我正在进入我的DOB,我的生命中没有足够的时间向下滚动到下拉框的底部.当我不知道选项是什么时,下拉框是一个很好的模式,但如果它是我非常熟悉的东西,比如我的出生日期,那么下拉菜单是一件麻烦事.
现在,WRT时间输入(Big pet peeve),不要以为我的意思是凌晨3点.如果我当时输入3,假设我的意思是下午3点.让我做额外的工作,在凌晨3点安排一些事情.如果你为代表我做了很多事情感到不舒服,至少提醒我,我已经安排了凌晨3点的事情,所以我现在可以修理它,而不是以后当有人在我的活动邀请列出电子邮件时说"你蠢,你安排我们的D&D聚会上午3点!"