我正在使用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是静态的。
答案 0 :(得分:1)
你可以尝试:
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;