Time 为什么不应该';我要求我的用户使用军用格式输入时间

Time 为什么不应该';我要求我的用户使用军用格式输入时间,time,form-design,Time,Form Design,我有一个表单,要求用户输入事件的开始和结束时间。多年来,我们允许他们通过从三个下拉框中选择小时(1-12)、分钟(1-60)和AM/PM来输入时间。这项工作很好,没有客户投诉。然而,今天我被一个请求击中,请求将输入更改为一个文本框,以便用户在军事时间(aka 0000-2359)中输入时间。凭我的直觉,我认为这是一个坏主意,但我很难想出任何确凿的事实 我能给出的最好的理由是什么,这将是一个坏主意 如果有更好的输入时间的解决方案,会是什么 此外,仅供参考,填写表格的用户涵盖了从很少使用计算机到高级

我有一个表单,要求用户输入事件的开始和结束时间。多年来,我们允许他们通过从三个下拉框中选择小时(1-12)、分钟(1-60)和AM/PM来输入时间。这项工作很好,没有客户投诉。然而,今天我被一个请求击中,请求将输入更改为一个文本框,以便用户在军事时间(aka 0000-2359)中输入时间。凭我的直觉,我认为这是一个坏主意,但我很难想出任何确凿的事实

我能给出的最好的理由是什么,这将是一个坏主意

如果有更好的输入时间的解决方案,会是什么

此外,仅供参考,填写表格的用户涵盖了从很少使用计算机到高级用户的范围。他们与军事毫无关系


更新:我的所有用户都是本地用户,没有其他表单(网络或打印)以军事时间为标准。

三个下拉列表是可用性方面的噩梦。您可以通过取消AM/PM并改为24小时制,将它们减少到两个,但仍然是:一个包含60个项目的下拉列表是多余的

我更喜欢“手动”输入时间,前提是这些输入框足够智能(比如,它们应该能够将
18
转换为
1800
0
转换为
0000
,允许
作为分隔符,等等)。另外,首先不允许用户输入不正确的数据


回答你的问题:我认为没有理由不允许你的用户做他们想做的事情。毕竟,他们是用户。

我明白你为什么认为这是个坏主意,愚蠢的用户输入错误的格式等等

但是,您考虑过jQuery吗

“它们与军事毫无关系。”

这对我来说是个很好的理由。这是一种不常见的格式,虽然不完全是“用户敌对”,但这并不是我们大多数人习惯于看到日期的方式,要求用户在头脑中进行转换最终会导致算术错误


也就是说,下拉框也不是很好。在我看来,最好使用两个输入框和一个AM/PM下拉列表。

老实说,我认为使用AM/PM格式是一种不好的做法,但这可能是因为我习惯了24小时制

反对的一个原因是,如果您的所有用户都习惯于12小时刻度,那么大多数用户可能仍然会输入1:00,而不是1:00的13:00。因为PM不在这里,它将导致错误


然而,进行转换的一个很好的理由仅仅是因为它是国际标准


根据您想要强调的内容(速度或功能),您可以使用时间选择器,该选择器将依赖于区域设置以用户格式显示时间,或使用类似时钟的控件。如果速度很重要,您可能更喜欢一个简单的掩码文本框。

这可能不是个坏主意。想象一下这样的情况:用户必须多次输入该信息,例如,因为他们在呼叫支持中。或者,他们可能会发现下拉框没有足够的可用性,即使在尝试过它们之后。他们可能更喜欢其他格式

通常,与利益相关者交谈并问他:“你为什么要这样做?”是一个好主意,然后你可以将他们的想法与你的想法进行对比,但如果你的想法只是“直觉”认为这是不对的,猜猜谁会赢得这场辩论。直觉不是一个有效的商业论据——特别是当商业不是你的时候


因此,简而言之,做你的客户想要的——只是确保他们能很好地理解他们的选择,并指出他们可能预见到的任何不便——一旦你找到了一个,那就是:

你可能想考虑使用jQuery(或者只针对WiFrm的TeleRik模式),并在后端建立支持。对于禁用javascript时的多种格式。

在我自己的框架中,我接受各种格式的时间和日期。当字段失去焦点时,我将尝试解析输入并将其格式化为“正确”或“正式”格式。这为用户提供了一种很好的方式来输入数据,并在出现问题时提供了一个视觉提示


例如,在日期字段中,我将接受“1”作为“01.12.2009”(当前月份+年份)。在时间框中,我将接受“1030”、“1030”、“10.30”(即,我只是过滤掉任何不是数字的东西)。“010409 1125”变为1。2009年4月11日上午11:25。

好吧,从用户界面的角度来看,这可能是一个错误,根据以下几点:

“系统和现实世界之间的匹配。”如果你的用户不习惯在军事时间输入日期,请他们在你的应用程序中输入日期最多只能分散注意力,最糟糕的是令人沮丧

“错误预防”您不是在消除容易出错的条件,而是可能引入这些条件

还有一个问题是为什么要做出这种改变。顾客在抱怨吗?数据是否输入错误?正如其他人提到的,您的用户是否习惯于军事时间?在我看来,任何界面的改变都是有原因的,因为你要改变用户体验,这会带来后果;问题在于这些影响会有多大。我的假设是,数据输入错误应该是可以避免的——但它们是可以避免的吗?要求用户输入时间为“XX:XX”,并解析出分号(或者,如Aaron Digulla所述,任何非数字字符),然后根据需要进行转换,似乎比要求用户以他们不习惯每天使用的格式输入时间更不可能导致错误

我担心的是,用户希望输入下午3:30PM,而在不太在意的情况下,只需输入330即可。现在是凌晨3:30,用户永远不会知道这两者之间的区别,因为应用程序会获取信息并愉快地假设这就是它的意思。但是,允许用户输入