0

onChange選択リストでアクションを追跡しようとしています。selectedIndex を返す必要がありますが、継ぎ目が機能していません。

これが私のコードです:

<select name="triOrdre" id="triOrdre" 
    onchange="_gaq.push(['_trackEvent','Outils','Trier',this.selectedIndex]);">
    <option value="myURL0">Option0</option>
    <option value="myURL1">Option1</option>
    <option value="myURL2">Option2</option>
    <option value="myURL3">Option3</option>                  
    <option value="myURL4">Option4</option>
</select>

selectedIndex に関して、必要な情報は 0、1、2、3、または 4 です。をthis.value入力すると、selectedValue (つまり、myURL0、2、...) が取得されます。しかし、selectedIndex では何も機能していません。

BUT: GA デバッグ プラグインを使用して Chrome を試してみると、プラグインは期待値の trackevent を参照します。例:['_trackEvent','Outils','Trier',1] しかし、firebug または HTTPFox プラグインには何も表示されません。

読んでいただきありがとうございます。今後ともよろしくお願いいたします。

ジム。

4

2 に答える 2

0

最後に、私は答えを得ました。

this.selectedIndexは整数であり、GA API シームは文字列値のみを想定しています。

したがって、次のように Int 値を String に変換する必要があります。

_gaq.push(['_trackEvent','Outils','Trier',this.selectedIndex.toString()]);

ご協力いただきありがとうございます。

于 2012-07-31T14:05:09.820 に答える
0

ブラウザが異なれば、script/html 構文エラーの処理も異なります。マイケルがコメントで提案したように、イベント カテゴリで一重引用符を適切に閉じてみてください。

onchange="_gaq.push(['_trackEvent', 'Outils', 'Trier', this.selectedIndex]);"

これを修正すると、デバッガーの結果の一貫性が向上するため、他の問題が存在する場合にそれを見つけるのに役立ちます。

アップデート

onchangeイベントの処理方法が原因である可能性がありますthis.selectedIndex。そのコードを別の関数に入れconsole.debug(this.selectedIndex)て、期待値を確実に取得するために使用することができます。

onchange="trackEvent(this)"

それで...

function trackEvent(selectBox) {

 var selectIndex = selectBox.selectedIndex;
 console.debug(selectIndex);

 _gaq.push(['_trackEvent', 'Outils', 'Trier', selectIndex ]);

}

これは、問題のデバッグに役立つ場合があります。Value選択したインデックスが追跡しようとしている GA である場合は、文字列ではなく整数であることを確認してください。

于 2012-07-31T13:15:51.107 に答える