我正在寻找关于在网站上输入房产地址(即房屋或商业地址,而不是电子邮件地址)的两种不同方式的想法。单个字段与单个灵活多行输入字段的优缺点是什么?或者是多行的,带有单独的邮政编码条目?
大多数网站使用单独的字段,并且可能会将这些字段存储到数据库中的单独字段中。换句话说,输入通常是一些变化:
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]
如何存储地址?如果是多行,将所有行存储在单个数据库字段中?或者拆分成单独的字段并在编辑时重新组合成多行字符串?
如果是拆分字段,您使用的字段是什么,宽度是多少?
答案 0 :(得分:2)
我会选择一个多行输入字段。不同国家/地区的地址格式不同,并且具有不同的组成部分:例如,许多国家/地区都没有州(表示为N / A)。邮政编码可以是5位或9位数,也可以是2组3个字母数字等,因此考虑到这一点可能很复杂。
但是在给定多行文本框的情况下,每个人都可以以自然形式输入他们的地址。
答案 1 :(得分:2)
我更喜欢使用单独的字段,因为这会生成结构化信息,而单个字段会提供地址但结构未知。显而易见的优点是,单个字段允许输入与预期格式不匹配的地址 - 例如外国地址和邮政信箱。
在思考你的问题时,我得到了以下想法 - 一种混合解决方案。有一个输入字段,但是当用户输入的类型被分析和拆分时,这个分析结果会显示给用户 - 用它旁边的字段名称进行细微突出显示,类似于工具提示。您可以为不同的地址类型和国家/地区设置不同的格式分析可以基于地址的总体结构,也可以基于州名,国家名称或邮政编码的格式。正则表达式可以做到这一点,但也可以考虑自定义描述格式。也许也可以使用XSD,XML或类似的描述语言。
用户应该能够通过上下文菜单或类似内容从列表中选择格式来更改格式,更改尚未正确分析的单个字段,甚至完全重新标记整个地址。这将成为一个非常复杂的控制,我不确定用户第一次看到这个控件的能力如何。我可以想象用户会想要立即更改未正确检测到的字段,而不是等到他们完成输入后才能正确分析地址,然后在第一行之后更好。
答案 2 :(得分:1)
我更喜欢分割字段,因为分解字段很简单,它也可以帮助之前输入信息的人们使用表单保护程序类型的应用程序。快速打字员知道按“标签”在字段之间导航。
在这两种情况下,您都需要以“已解析”的形式存储地址,因为您可能需要使用它来执行操作。 (检查郊区等)。
答案 3 :(得分:0)
我会选择单独的地址字段。这是能够进行任何验证的唯一方法。
目前我遇到的问题是,即使在上面指出的单独字段中,我也没有正确的方法来检查是否填写了房屋号码。
(在我的国家,例如运输货物,有点重要)