2011-11-21 40 views
0

試圖將mixpanel的代碼添加到我的網站中。然而,當我爲表單提交onsubmit時,我無法在我的rails 3應用程序中獲取javascript來跟蹤事件。該代碼在Chrome的控制檯窗口中工作。有什麼建議麼?以下是我的html.erb文件中的代碼。它被放置在文件的頭部,以及來自mixpanel的提供的javascript。Unobtrusive JavaScript無法在Rails 3應用程序中工作

<% javascript_tag do %> 
     var my_term = <%= strip_tags(@term.to_json) %> 
<% end %> 

下面是我在我的形式跟蹤代碼提交

<%= form_tag("/search", :method => "get", :onsubmit => 'mpq.track("search",{"term":my_term});', :style => "float:right;margin-top:9px;") do %> 

感謝

生成JS

<script type="text/javascript"> 
//<![CDATA[ 
     var my_term = "san francisco" 

//]]> 
</script> 

生成的HTML

<form accept-charset="UTF-8" action="/search" method="get" onsubmit="mpq.track(&quot;search&quot;,{&quot;term&quot;:my_term});" style="float:right;margin-top:9px;"> 
+0

你可以添加生成的HTML和JS的樣子嗎?你期望會發生什麼? –

+0

剛剛編輯的帖子顯示生成的html和js –

回答

0

有兩個問題與您的代碼:

1 - 看看你的onsubmit在生成的HTML:

onsubmit="mpq.track(&quot;search&quot;,{&quot;term&quot;:my_term});" 

您正在使用&quot;時,你應該用實際"

2 - 在某些情況下,即使在修復&「問題,事件不會發生。這是因爲在對Mixpanel的調用有機會解決之前,頁面會發生變化。最好是在搜索頁面上調用mpq.track(),而不是使用onsubmit javascript事件。

+0

謝謝!我改變它只是在搜索頁面上觸發。 –

相關問題