#forms
#формы
Вопрос:
Я хочу, чтобы пользователь выбирал город при заполнении своего профиля. Каков наилучший способ сделать это в веб-приложении?
У меня есть какой-нибудь другой способ, кроме как просто сохранить список городов в моей базе данных. Может быть, какой-нибудь общедоступный API?
Ответ №1:
Лучший способ сделать это — использовать большую базу данных, если только вы не хотите разрешить пользователю вводить название города.
К счастью для вас, вам не нужно выходить и создавать базу данных самостоятельно. Вот каталог бесплатных баз данных:http://www.sqldumpster.com/databases/geographic /
Ответ №2:
Я бы просто использовал простое текстовое поле с автозаполнителем. Вы можете получить список городов, но вам придется поддерживать его в актуальном состоянии, и вам придется беспокоиться о такой ерунде, как разница между «Сент-Джон», «St John» и «St. Джон».
Отправка клиенту всего списка городов станет просто кошмаром пользовательского интерфейса, в списке выбора будут тысячи и тысячи записей, и вам придется отправлять клиенту много данных; нет причин так сильно ненавидеть своих посетителей.
Автозавершитель может использовать выбранные в данный момент города для предоставления предложений по новым городам. Если у вас есть названия городов в нескольких местах, то просто сохраните где-нибудь основной список городов для автозаполнителя и обновляйте его новыми записями каждый день. В итоге вы получите список городов, но список будет построен сам по себе.
Простой ввод текста будет работать одинаково везде, и почти каждый может довольно легко ввести название своего города.
Ответ №3:
Вы могли бы сохранить их в текстовом файле, иметь копию на своем сервере (для проверки) и загружать города через AJAX.
Однако этот подход не сработает для пользователей без JS.
И, если быть снобом, можете ли вы лучше определить? Лучший в каком смысле? Самый быстрый? Самый легкий? Самый потрясающий? Самый питонический? Я не уверен, что вы имеете в виду под этим.