我对JS编码不是很好,我想做的是用JS设置cookie然后用特定字段ID中的代码检索它。问题是我正在基于用户地理位置生成表单字段并使用重力表单,遗憾的是重力表单不允许我将类设置为输入,因此我必须使用两个不同的ID。
这是我的代码:
<script type="text/javascript">
document.getElementById("input_2_7").value = getCookie("tir_referrer");
</script>
<script type="text/javascript">
document.getElementById("input_3_7").value = getCookie("tir_referrer");
</script><code>
现在,当用户从某个国家/地区加载网站时,他会获得输入字段&#34; 2_7&#34;当加载其他国家/地区时,输入为&#34; 3_7&#34;其中第一个num是表单ID,第二个是表单字段ID。
上面的两个JS脚本将cookie放在字段7中,这可行,但问题是当网站上只有一个表单时Chrome控制台输出错误:
Uncaught TypeError: Cannot set property 'value' of null
at (index):740
表单填写工作无论如何只有不需要的脚本失败,但我想改进代码并且只为这两个ID使用一个JS,同时引发一些错误处理,希望有人可以启发我如何。< / p>
问候,D
答案 0 :(得分:0)
在尝试访问null
之类的属性之前,只需检查getElementById是否返回了元素引用(如果它没有找到该元素,它将只返回value
):
var input_2_7 = document.getElementById("input_2_7");
if(input_2_7) {
input_2_7.value = getCookie("tir_referrer");
}