根据页面URL创建条件语句

时间:2013-05-24 04:52:20

标签: javascript wordpress

我正在使用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是静态的。

1 个答案:

答案 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;