#javascript #google-tag-manager
Вопрос:
у меня есть небольшой вопрос о коде javascript в GTM, у меня ошибка синтаксического анализа с этим кодом
const radios = document.querySelectorAll('input[type="radio"]');
radios.forEach(radio => radio.addEventListener('change', handleChange, false));
function handleChange(e) {
return(e.target.value);
}
Можете ли вы мне помочь, пожалуйста 🙂
Комментарии:
1. У меня » Ошибка разбора. ожидаемое первичное выражение »
2. Я попытался узнать название своей кнопки, когда нажал на нее
3. Ладно, можешь показать мою проблему ?
4. На самом деле я пытался получить информацию о кнопке, когда нажимал на нее (простая викторина, которая переключается между страницами, когда я выбираю ответ)
5. как я уже сказал,
return
в обработчике событий нет смысла … куда будет «возвращаться» значение?
Ответ №1:
Ладно, это не совсем то, как вы слушаете щелчок в GTM.
Хотя вы, безусловно, можете это сделать, это не имеет смысла, поскольку GTM не подразумевалась для этого. Вы не должны иметь обратных вызовов в переменных GTM и ожидать, что они будут работать. Значение каждой переменной оценивается по определенному триггеру GTM. Вы вводите там определенный асинхронный элемент, полагаясь на слушателя. Также… Я не уверен, насколько хорош GTM с синтаксисом ES6. Я все еще придерживаюсь ES5 в GTM и запускаю.
Вот как я предлагаю вам это сделать:
- Создайте триггер щелчка. Используйте свой селектор щелчков в триггере щелчка, чтобы ограничить его «Несколькими щелчками» , например:
- Теперь используйте этот триггер со своим тегом. Однако вы захотите указать в теге значение выбранного элемента. За это:
- Создайте пользовательскую переменную js, возвращающую ваше значение следующим образом:
- Теперь просто укажите свою переменную CJS в значении или там, где вы этого хотите.