如何根据 IP 地址自动填写城市、州和国家/地区表单字段?

Posted

技术标签:

【中文标题】如何根据 IP 地址自动填写城市、州和国家/地区表单字段?【英文标题】:How can you auto fill city, state and country form fields based on IP address? 【发布时间】:2014-03-22 04:51:12 【问题描述】:

根据 IP 地址获取访问者城市、州和国家/地区并将其填写到表单字段中的最简单方法是什么?

例如我有一个基本的表单域:

<input type="text" name="city" value="*AUTOFILL CITY HERE*" />

我不想让他们填写这些信息,我只想隐藏表单字段并根据他们的 IP 自动填充。

【问题讨论】:

您将使用哪个平台(语言)?? 主要是 php。表单显然是在 html/css 中。理想情况下,希望在输入字段中自动填充城市/州/国家/地区,这可能需要一些 javascript 我想我是用这样的东西弄明白的: 【参考方案1】:

我为您找到了一个 html、javascript 和 jquery 形式的解决方案。

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
</head>
<body>
<h3>Client side IP geolocation using <a href="http://ipinfo.io">ipinfo.io</a></h3>

<hr/>
<div id="ip"></div>
<div id="address"></div>
<hr/>Full response: <pre id="details"></pre>
<input type="text" value="" id="city" />
<script type="text/javascript">

$.get("https://ipinfo.io", function (response) 
    $("#ip").html("IP: " + response.ip);
    $("#address").html("Location: " + response.city + ", " + response.region);
    $("#details").html(JSON.stringify(response, null, 4));
    $("#city").html(response.city);
    document.getElementById('city').value = response.city;
, "jsonp");
</script>

</body>
</html>

城市是自动填写的,使用相同的过程,您可以显示访问者的州和国家/地区。

【讨论】:

以上是关于如何根据 IP 地址自动填写城市、州和国家/地区表单字段?的主要内容,如果未能解决你的问题,请参考以下文章

从 IP 地址获取城市

在一次查询中获取所有国家/地区的州和城市

如何根据国家/地区的IP地址重定向网站

如何让我的 user.address 州和国家/地区字段正确包含在我的视图中?

如何使用pygeoip从国家、地区代码获取纬度、经度

关于地址、城市、国家数据的规范化问题