无法使用 Javascript 或 jQuery 将 Cookie 传递到隐藏表单字段



我有一些Javascript或jQuery,我正在使用它们将存储在cookie中的信息传递到我网站上的隐藏表单字段中。

但是,每当我运行测试时,代码都不起作用 - 没有任何东西被拉入我的隐藏字段。

这是我正在使用的代码(我已经尝试了javascript和jQuery - 我将展示我用于两者的代码(:

document.querySelector("input[name='field:7961189']").value = "{{cookie - gclid}}";
$('input[name="field:7961189"]').val('{{cookie - gclid}}').change();

我尝试通过用我的可见字段之一替换"名称"来在我的可见表单字段上对此进行测试,如下所示,

document.querySelector("input[name='email']").value = "{{cookie - gclid}}";
$('input[name="phone"]').val('{{cookie - gclid}}').change();

它有效 - 字段填充了来自我的 cookie 的数据。但是当我尝试页面顶部的代码时,它不起作用。我被难住了。任何正确方向的帮助或指示将不胜感激。

这是它周围的 HTML。

<div class="custom-form" data-form-id="1449777"> 
<h2 class="babel-ignore">UTM Fields</h2> 
<p class="babel-ignore form-description">Disruptive Analytics UTM Fields</p> 
<div class="form-group" data-field-id="7961189"> 
<label for="field:7961189" class="control-label babel-ignore">gclid </label> 
<input type="text" class="text form-control" name="field:7961189" value="">

试试这个:

function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
var ca = decodedCookie.split(';');
for(var i = 0; i <ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') {
c = c.substring(1);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
}

然后

document.querySelector("input[name='field:7961189']").value = getCookie("gclid") // or wathever cookie is named

源: https://www.w3schools.com/js/js_cookies.asp

最新更新