Javascript 基于页面URL创建条件语句

Javascript 基于页面URL创建条件语句,javascript,wordpress,Javascript,Wordpress,我正在使用Mapquests gps查找API和Wordpress,因此我将应用相同的map.js函数来填充同一站点完全不同页面上存在的字段的经度、纬度和地址。例如,到目前为止,这就是我所拥有的(仅限于纬度示例),并且只能使第一条语句起作用,而其他页面上的语句不能起作用,也就是说,用值填充字段 更好的是,除了GetElementById之外,还有更好的方法来填充这些存在于不同页面上的表单ID吗?如果值为null,则会失败,因为它会查找不在页面上的ID 找到以下示例: JS 第1页的HTML-熄灯

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

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

找到以下示例:

JS

第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-报告植被生长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>
    
  • 这就是要点。。。。我正在使用gravity forms插件,但一旦创建字段,ID将是静态的,除非我删除字段。

    您可以尝试:

    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;
    

    你面临的问题是什么,因为代码似乎是正确的。问题是,如果ID不存在,他就会出错。缓存变量中的元素,然后检查是否存在;如果这样设置值。这些字段在其他页面上根本没有填充:(你也能给我们看看HTML吗?思维方式很好。即使这样,在设置时也可能会出错。让我们看看这是否有效。不起作用…我甚至更改了你的错误类型“srt”将
    if
    语句更改为
    if(el!=null)
    可以防止出现错误(如果有)。@jflay您到底遇到了什么错误?(并修复了拼写错误和缺少的括号和=。该死的,已经晚了:我甚至没有收到任何错误,这很烦人。我知道我的js代码工作时,字段的值是空的,但只有在我一次使用一个ElementById的情况下。如果我只使用一个javascript ElementById,字段会按它应该的方式填充,但当我添加更多的混合时,它会填充。)esn不能…我不能同时添加所有三个,因为我将得到“Timestamp:5/24/13 12:04:36 AM Error:TypeError:document.getElementById(…)为空源文件:第26行”
    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;