2012-07-31 79 views
0

我試圖追蹤選擇列表上的onChange操作。 我需要返回一個selectedIndex,接縫不工作。Google Analytics和this.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> 

我需要的是0,1,2,3或4中,關於到selectedIndex處的信息。 如果我把this.value,我得到了selectedValue(so myURL0,2,...)。 但沒有任何工作與selectedIndex。

但是: 如果我使用GA調試插件嘗試Chrome,插件會根據預期值查看跟蹤事件。 例如:['_trackEvent','Outils','Trier',1] 但沒有出現在firebug或HTTPFox插件中。

感謝閱讀, 並感謝您的未來幫助。

Jim。

+1

這是你真正的代碼嗎?你錯過了'Outils'的開頭報價。你應該看到有關控制檯的錯誤... – 2012-07-31 13:00:39

+0

不,它不是。在我的真實代碼中沒有缺失的引號。我編輯了這篇文章。 – Dekx 2012-07-31 13:19:29

回答

0

最後,我得到了答案。

this.selectedIndex是一個整數,GA API接口只期望sting值。

所以我需要的int值轉換成字符串這樣的:

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

感謝您的幫助。

0

不同的瀏覽器以不同的方式處理script/html語法錯誤。正如Michael在您的評論中所建議的那樣,請嘗試在您的事件類別中適當地關閉單引號。

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

修復,這將幫助您找到其他任何問題,如果它們存在,你會得到更一致的結果調試。

UPDATE

這可能是你的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 ]); 

} 

這可以幫助您調試問題。另一個可能的幫助是確保如果選擇的索引是您試圖跟蹤的GA Value,請確保它是一個整數而不是一個字符串。

+0

對不起,在真實的代碼中不會缺少行情。編寫問題時出現複製/過去錯誤。 – Dekx 2012-07-31 13:21:09

+0

'this.selectedIndex'在哪裏給出正確的值。這不是問題。查看我的答案以獲取更多詳情。但是,謝謝你的幫助。 – Dekx 2012-07-31 14:07:05