1

私は Mapquests gps ルックアップ API と Wordpress を使用しているため、同じ map.js 関数を適用して、同じサイトのまったく異なるページに存在するフィールドの経度、緯度、住所を入力しています。たとえば、これは私がこれまでに持っていたもの (緯度の例のみ) であり、最初のステートメントのみを機能させることができますが、他のページでは機能しません。つまり、フィールドに値を入力します。

さらに良いことに、GetElementById 以外に、異なるページに存在するこれらのフォーム ID を埋めるより良い方法はありますか? ページにない ID を検索するため、値が null の場合は失敗します...

次の例を見つけました: URL の Javascript 一致部分、結果に基づく if ステートメント

JS

var str = "http://wordpressite.com/soco-app/forms/lights-out/report-vegetation-growth-web/report-vegetation-growth-iphone/"
if (str.indexOf("http://wordpressite.com/soco-app/forms/lights-out") === 0) {
document.getElementById("input_1_11").value = latitude;
} else if (str.indexOf("http://wordpressite.com/soco-app/forms/report-vegetation-growth-web") === 0) {
document.getElementById("input_2_6").value = latitude;
} else if (str.indexOf("http://wordpressite.com/soco-app/forms/report-vegetation-growth-iphone") === 0) {
document.getElementById("input_3_6").value = latitude;
}

ページ 1 の HTML - 消灯

<li id='field_1_11' class='gfield     gform_hidden' ><input name='input_11' id='input_1_11' type='hidden' class='gform_hidden' value='' /></li><li id='field_1_12' class='gfield     gform_hidden' ><input name='input_12' id='input_1_12' type='hidden' class='gform_hidden' value='' /></li><li id='field_1_13' class='gfield     gform_hidden' ><input name='input_13' id='input_1_13' type='hidden' class='gform_hidden' value='' /></li>

ページ 2 の HTML - report-vegetation-growth-web

<li id='field_2_6' class='gfield     gform_hidden' ><input name='input_6' id='input_2_6' type='hidden' class='gform_hidden' value='' /></li><li id='field_2_7' class='gfield     gform_hidden' ><input name='input_7' id='input_2_7' type='hidden' class='gform_hidden' value='' /></li><li id='field_2_8' class='gfield     gform_hidden' ><input name='input_8' id='input_2_8' type='hidden' class='gform_hidden' value='' /></li>

それが要点です....重力フォームプラグインを使用していますが、フィールドが作成されると、フィールドを削除しない限りIDは静的です。

4

1 に答える 1

2

あなたが試すことができます:

var str = window.location.pathname; // get the current URL;
var el; // cache element;
if(str.indexOf('lights-out') > -1) {
    el = document.getElementById("input_1_11");
} else if(str.indexOf('growth-web') > -1) {
    el = document.getElementById("input_2_6");
} else if(str.indexOf('growth-iphone') > -1) {
    el = document.getElementById("input_3_6");
}

if(el)
    el.value = latitude;
于 2013-05-24T05:04:33.457 に答える