-1

Maxminds GEOIP ツールを使用し、本体の後にこれを呼び出します。

<script type="text/javascript" src="http://j.maxmind.com/app/geoip.js"></script>

市と州を印刷するには、これを HTML ドキュメントに貼り付けます。

<script>document.write(geoip_city());</script>
<script>document.write(geoip_region());</script>

これらの値を、送信して変数に割り当てることができる非表示の入力に渡したいと思います。私が欲しいのはこれですが、明らかに構文はかなりずれています:

<input type="hidden" name="city" value="<script>document.write(geoip_city());</script>" />

ここで検索してみましたが、答えが見つかりませんでした。誰か助けてもらえますか?ありがとう!

4

2 に答える 2

0

明らかなクラス名など、geoip サービスによって入力する要素にクラスを追加しgeoip、geoip 関数のマップを使用してinput、名前に基づいて非表示の要素の値を入力することをお勧めします (テストされておらず、公開 API がなければ、残念ながらテストできません):

var geoipMap {
    'city' : geoip_city(),
    'region' : geoip_region(),
    'country' : geoip_country() // and so on...
};

var inputs = document.getElementsByTagName('input'),
    geoipInputs = [];

for (var i = 0, len = inputs.length; i < len; i++) {
    if (inputs[i].className.indexOf('geoip') !== -1) {
        geoipInputs.push(inputs[i]);
    }
}

for (var i = 0, len = geoipInputs; i < len; i++) {
    geoipInputs[i].value = geoipMap[geoipInputs[i].name];
}
于 2012-11-26T21:45:49.290 に答える
0

これを( jQueryを使用して)次のように記述します。

var geo_city   = geoip_city();
var geo_region = geoip_region();

$(document).ready(function(){

     $("#city").val(geo_city);

});

<input type="hidden" id="city" name="city" value="" />

このコードは変数を取得し、geo_cityそれを都市 ID を持つ非表示のテキスト フィールドに配置します。

于 2012-11-26T21:37:27.473 に答える