1

我正在使用 Mapquests gps 查找 API 和 Wordpress,因此我正在应用相同的 map.js 函数来填充同一站点的完全不同页面上存在的字段的经度、纬度和地址。例如,这是我到目前为止所拥有的(仅限纬度示例)并且只能使第一个语句起作用,而其他页面上的其他语句则不能,即用值填充字段。

更好的是,除了 GetElementById 来填充这些存在于不同页面上的表单 ID 之外,还有更好的方法吗?如果该值为 null,则它会失败,因为它会查找不在页面上的 ID...

找到这个例子:Javascript match part of url, if statement based on result

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 回答