Javascript Номер телефона Автозаполнение - PullRequest
2 голосов
/ 04 октября 2011

Привет, есть ли в любом случае использование Javascript для получения текущего местоположения пользователя и полей автозаполнения в форме, такой как телефонный код страны (например, в Сингапуре +65) и код города?

1 Ответ

1 голос
/ 04 октября 2011

Это действительно сложно, и я бы советовал против этого, потому что это куча усилий за очень маленькую награду. Лучший способ (наиболее гибкий для пользователя) - это получить IP-адрес пользователя с помощью PHP / ASP / Ruby-on-Rails / что угодно и запросить одну из свободно доступных баз данных Geo-IP (Google it), чтобы сопоставить ее со страной. затем создайте собственную базу данных кодов стран (используя this или аналогичный).

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

// first, check it's supported
if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(insertCountryCode);
}

insertCountryCode - это функция, которую вы передаете. Зачем? Поскольку запрос для пользователя о том, что ваш сайт должен знать свое местоположение, является немодальным, то есть страница будет продолжать работать, пока она ожидает ответа, поэтому функция, когда он отвечает, будет асинхронной ( вне нормального потока). Эта функция позволяет вам найти их местоположение и вставить код страны. В этой функции используйте Google Maps API и передайте параметр latlng, чтобы получить страну ... тогда вам нужно найти другой сервис поиска, который позволит вам узнать телефонный код.

Причина, по которой я объяснил это, состоит в том, чтобы показать вам, насколько это сложно. Гораздо более простой альтернативой было бы иметь выпадающий список с

<option value="+65">Singapore</option>

и введите значение в поле номера телефона. Вот что я тебе советую сделать.

...