Ошибка получения значения cookie для формирования поля

Являясь новичком Javascript, у меня возникают проблемы с отслеживанием Google Adwords GCLID на нашем сайте. Я следую их примерам кода, приведенным здесь https://support.google.com/adwords/answer/2998031.

Вы можете видеть, что файл cookie хранится, но при попытке получить его и заполнить скрытое поле формы результат просто пустой. Я использовал другие варианты, но это просто приводит к "неопределенному" в качестве значения поля.

Вот код, который я использую

Упрощенная форма HTML

<form name="signupform" method="post" action="step2.php">
 
</form>

Сценарий записи файлов cookie

Скрипт чтения файлов cookie

2 ответа

function() { 
 document.getElementById('gclid').value = readCookie('gclid'); 
}

это функция без имени, которое никогда не вызывалось. попробуйте заменить его только

document.getElementById('gclid').value = readCookie('gclid');

Я переписал ваш сценарий записи, я думаю, ваш cookie никогда не будет установлен.

function setCookie(a,d,b) {
 var c = new Date;
 c.setTime(c.getTime()+864E5*b);
 b="; expires=" + c.toGMTString();
 document.cookie = a + "=" + d + b
}

function getParam(a) {
 return(a=RegExp("[?&]"+a+"=([^&]*)").exec(window.location.search))&&decodeURIComponent(a[1].replace(/\+/g," "))
}

var gclid=getParam("gclid");

if(gclid) {
 var gclsrc = getParam("gclsrc");
 if(!gclsrc||-1 !== gclsrc.indexOf("aw")) {
 setCookie("gclid", gclid, 90);
 alert("Cookie Set!");
 }
}


Рабочий скрипт изменен с https://support.google.com/adwords/answer/3285060. Я просто сменил document.onload на window.onload. Кажется, в DOM слишком много происходило за пределами экрана.

licensed under cc by-sa 3.0 with attribution.