2017-05-24 1 views
0

Google 태그 관리자에서 사용하는 getElementsByClassName 기능에 문제가 있습니다. 클라이언트의 폼에서 입력 필드 값을 캡처해야하며 클래스 이름을 분리하고 내 사용자 지정 JS에서 사용하지만 Undefined 만 다시 가져옵니다. 내가 사용하는 JS는 아래에 있으며 gtm.formsubmit 이벤트도 만들었지 만 사용자 입력을 듣기 전에 이벤트가 실행되고 있다고 생각합니다.getElementsByClassName - 정의되지 않음 반환

function() { var inputField = document.getElementsByClassName("wpcf7-form"); return inputField.value || ""; }

감사합니다!

답변

0

wpcf7 형식의 단일 요소 만있는 경우에도 getElementsByClassName을 호출하면 요소 배열 (이 경우 단일 요소)이 반환됩니다. 배열에는 "value"속성이 없으므로 "정의되지 않음"을 얻습니다.

당신은이 DOM 유형을 사용하는 것이 더 쉽습니다 당신이 경우 인덱스 0에 항상하는 하나의 요소 때문에

...  
var inputField = document.getElementsByClassName("wpcf7-form"); 
return inputField[0].value || ""; 
... 

을 할 수있는 클래스 만 하나 개의 요소가 resonably 확실한 경우 변수를 Google 태그 관리자에서 선택하고 선택 메소드를 "CSS selector"로 설정하십시오. 클래스의 첫 번째 요소가 반환됩니다 (존재하지 않으면 undefined).

+0

고맙습니다. –

관련 문제