使用referrer cookie JS填写表单

时间:2017-04-19 19:50:42

标签: javascript jquery forms cookies

我对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

1 个答案:

答案 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");
}