首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript -将内容插入html - maxmind geoip2

问javascript -将内容插入html - maxmind geoip2
EN

Stack Overflow用户
提问于 2015-01-06 08:58:54
回答 2查看 198关注 0票数 0

我使用的是基于IP生成用户城市的服务。我已经有一个脚本将其添加到隐藏表单域的值域中。现在我需要将它插入到html中的3个不同位置。下面的当前脚本将城市插入到隐藏的表单字段中。到目前为止,我所拥有的:

标题:

代码语言:javascript
复制
 <script src="http://js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js"></script>

正文:

代码语言:javascript
复制
 <form name="form1" id="form1" method="post" action="script.php">
 <input type="hidden" id="city" name="city" value="" />
 </form>
<script type="text/javascript">
"use strict";

var getCity = function( geoipResponse ){
    var cityName = geoipResponse.city.names.en || 'your city';
    document.getElementById('city').value = cityName;
};

var fail 

= function(err) {
    alert(err.error);
    console.error(err);
}
geoip2.city( getCity, fail );
</script>
<a href="javascript:{}" onclick="document.getElementById('form1').submit(); return false;" class="agree">Submit</a>

这样可以很好地提交表单。现在我只需要显示一些在html中的城市,但我似乎不能让它工作。有人知道我是怎么做到的吗?

EN

回答 2

Stack Overflow用户

发布于 2015-01-06 09:11:39

编辑:

如果您有3个不同的地方来显示城市,那么在HTML中的3个不同的地方使用HTML元素中的类。例如:

代码语言:javascript
复制
<div class="city-display"></div>

然后把它展示出来:

代码语言:javascript
复制
var getCity = function( geoipResponse ){
    var cityName = geoipResponse.city.names.en || 'your city';
    document.getElementById('city').value = cityName;
    $('div.city-display').text(cityName);
};
票数 1
EN

Stack Overflow用户

发布于 2015-01-06 09:05:35

我在这里发帖,因为我无法评论...

看起来您的输入元素中包含了type="hidden"。这可能是您看不到cityName值出现的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27790508

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档