Флажки отслеживания с динамическим идентификатором в форме HubSpot с помощью Google Tag Manager - PullRequest
0 голосов
/ 01 октября 2019

Я настроил отслеживание форм на GTM, но теперь у меня возникают проблемы с отслеживанием, в частности, отправки форм, где также установлен флажок opt-in subscription. Я бы настроил срабатывание триггера, когда флажок установлен в «истина» и нажата кнопка отправки формы, что первоначально работало, когда я тестировал его в режиме предварительного просмотра. Я обнаружил, что атрибут ID этого флажка является динамическим, поэтому моя пользовательская переменная javascript больше не работает. Это то, что у меня есть в настоящее время (это работало до того, как изменились последние четыре цифры идентификатора):

function() {
var checkbox = document.getElementById("LEGAL_CONSENT.subscription_type_6337149-8b3f66b8-292e-411d-a20e-f08f28554e60_7739");
return checkbox.checked || false;
}

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

РЕДАКТИРОВАТЬ:

Я заменил его следующим, но он по-прежнему не запускается:

function() {
var checkbox = document.querySelector('[id^="LEGAL_CONSENT.subscription_type_6337149-8b3f66b8-292e-411d-a20e-f08f28554e60_"]');
return checkbox.checked || false;
}

HTML-код флажка подписки:

<input id="LEGAL_CONSENT.subscription_type_6337149-8b3f66b8-292e-411d-a20e-f08f28554e60_9479" class="hs-input" type="checkbox" name="LEGAL_CONSENT.subscription_type_6337149" value="true" data-reactid=".hbspt-forms-1.2.1:0.$LEGAL_CONSENT=1subscription_type_6337149.$LEGAL_CONSENT=1subscription_type_6337149.$LEGAL_CONSENT=1subscription_type_6337149.0.0.0.0">

1 Ответ

0 голосов
/ 12 октября 2019

Следующая функция должна работать, так как вы используете имя класса элемента, которое не должно изменяться динамически.

 function() {
var checkbox = document.getElementsByClassName(“hs-input”);    
 return checkbox.checked || false;
}
...