1

我正在寻找有关在网站上输入财产地址(即房屋或公司地址,而不是电子邮件地址)的两种不同方式的想法。单独的字段与单个灵活的多行输入字段的优缺点是什么?还是带有单独邮政编码条目的多行?

大多数站点使用单独的字段,并且可能将它们存储到数据库中的单独字段中。换句话说,输入通常是以下的一些变体:

House:       [input field]
Street 1:    [input field]
Street 2:    [input field]
Town:        [input field]
District:    [input field]
Postal code: [input field]

但是,对于快速打字员来说,上面的输入有点笨拙,而且在地址格式更自由的地方也有点限制。如果您必须“插入”或“删除”一行,则编辑起来很麻烦,因为您必须向上或向下复制每个字段,或者重新输入整个内容可能会更快。

另一种方法是自由格式的多行输入(带有可选的滚动条):

Address:     |multi-line input field|
             |                      |
             |                      |
             |                      |
             |                      |
Postal code: [input field]

以及如何存储地址?如果多行,将所有行存储在单个数据库字段中?还是在编辑时拆分成单独的字段并重新组合成多行字符串?

如果拆分字段,您使用的字段是什么,它们的宽度是多少?

4

4 回答 4

2

我会选择一个多行输入字段。不同国家/地区的地址格式不同,并且具有不同的组成部分:例如,许多国家/地区没有州(表示为 N/A)。邮政编码可以是 5 位或 9 位数字,也可以是 2 组 3 个字母数字等,因此考虑到这一点可能会很复杂。

但是每个人都可以在给定多行文本框的情况下以自然的形式输入他们的地址。

于 2009-08-23T11:51:24.803 回答
2

我更喜欢使用单独的字段,因为这会产生结构化信息,而单个字段会给出地址但结构未知。明显的优势是单个字段允许输入与预期格式不匹配的地址 - 例如外国地址和邮政信箱。

在考虑您的问题时,我得到了以下想法 - 混合解决方案。有一个输入字段,但是当用户键入时,输入被分析和拆分,并且这个分析结果显示给用户 - 微妙的突出显示旁边的字段名称,类似于工具提示。对于不同的地址类型和国家/地区,您可以使用不同的格式。分析可以基于地址的整体结构,也可以基于州名、国家或邮政编码格式。正则表达式可以做到这一点,但也可以考虑自定义描述格式。也许也可以(ab)使用 XSD、XML 或类似的描述语言。

用户应该能够通过上下文菜单或类似的方式从列表中选择格式来更改格式,更改尚未正确分析的单个字段,甚至完全重新标记整个地址。这将成为一个相当复杂的控件,我不确定第一次看到这个的用户如何处理这个控件。例如,我可以想象用户会很想立即更改未正确检测到的字段,而不是等到他们完成输入后,正确分析地址的机会比第一行之后更好。

于 2009-08-23T12:36:14.333 回答
1

我更喜欢拆分字段,因为这样拆分是什么就很明显了,而且它还可以帮助以前在表单保护类型应用程序中输入信息的人。快速打字员知道按“制表符”在字段之间导航。

在这两种情况下,您都需要以“已解析”的形式存储地址,因为您可能需要对它进行处理。(检查郊区等)。

于 2009-08-23T11:45:57.327 回答
0

我会选择单独的地址字段。这是能够进行任何类型验证的唯一方法。

目前我遇到的问题是,即使在上面指出的单独字段中,我也没有适当的方法来检查是否填写了门牌号码。

(which in my country, for shipping stuff for example, is kinda important)

于 2011-02-16T15:13:37.957 回答