2017-05-24 3 views
0

Googleタグマネージャで使用しているgetElementsByClassName関数に問題があります。 私はクライアントのフォームで入力フィールドの値を取得する必要があります。クラス名を分離してカスタムJSで使用しますが、Undefinedのみを取得します。 私が使用しているJSは以下の通りですが、gtm.formsubmitイベントも作成しましたが、ユーザー入力を聞く時間がある前にイベントが発生していると思います。getElementsByClassName - 未定義戻り値

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

ありがとう!

答えて

0

クラスwpcf7-formの要素が1つしかない場合でも、getElementsByClassNameを呼び出すと、要素の配列(その場合は単一の要素)が返されます。配列には "value"属性がないので、 "undefined"を取得します。

あなたは、単一の要素は常に、DOMタイプを使用するように容易になるだろうその場合、インデックス0になりますので、あなたが

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

を行うことができ、クラスで唯一の要素があるresonably確信している場合変数をGoogleタグマネージャで開き、選択方法を「CSSセレクタ」に設定します。これは、クラスの最初の要素を返します(存在しない場合は未定義です)。

+0

ありがとう、 –

関連する問題