Лучший способ ввода почтового / имущественного адреса? - PullRequest
1 голос
/ 23 августа 2009

Я ищу мысли о двух разных способах ввода адреса собственности (то есть адреса дома или предприятия, а не адреса электронной почты) на веб-сайте. Каковы плюсы и минусы отдельных полей по сравнению с одним гибким многострочным полем ввода? Или многострочный с отдельной записью почтового индекса?

Большинство сайтов используют отдельные поля и, по-видимому, хранят их в отдельных полях в базе данных. Другими словами, ввод часто представляет собой некоторую вариацию:

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 ]

2 голосов
/ 23 августа 2009

Я бы выбрал одно многострочное поле ввода. Адреса в разных странах форматируются по-разному и имеют разные компоненты: например, во многих странах нет государства (выражается как N / A). Почтовый индекс может состоять из 5 или 9 цифр или может состоять из 2 групп из 3 буквенно-цифровых символов и т. Д., Поэтому учитывать это может быть сложно.

Но каждый может ввести свой адрес в натуральной форме, используя многострочное текстовое поле.

2 голосов
/ 23 августа 2009

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

Размышляя над вашим вопросом, я получил следующую идею - гибридное решение. Существует одно поле ввода, но пока пользователь вводит данные, они анализируются и разделяются, и этот результат анализа показывается пользователю - тонкое выделение с именем поля рядом с ним, что-то похожее на подсказку. Вы можете иметь разные форматы для разных типов адресов и стран. Анализ может быть основан на общей структуре адреса, а также на названии штатов, стран или формате почтовых индексов. Регулярные выражения могут сделать это, но можно также рассмотреть пользовательский формат описания. Может быть, XSD, XML или аналогичные языки описания также могут быть использованы (ab).

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

1 голос
/ 23 августа 2009

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

В обоих случаях вам нужно хранить адрес в разобранном виде, потому что вам, возможно, придется что-то с ним делать. (Проверьте пригород и т. Д.).

0 голосов
/ 16 февраля 2011

Я бы выбрал отдельные поля адреса. Это единственный способ выполнить любую проверку.

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

(что в моей стране, например, очень важно для доставки)

...