Ненавязчивый JavaScript не работает в приложении Rails 3 - PullRequest
0 голосов
/ 21 ноября 2011

Попытка добавить код mixpanel на мой сайт.Однако я не могу получить javascript в своем приложении rails 3 для отслеживания события, когда я делаю отправку формы.Код работает из окна консоли Chrome.Какие-либо предложения?Ниже приведен код из моего файла html.erb.Это помещено в заголовок файла вместе с предоставленным javascript от mixpanel.

    <% 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;">

1 Ответ

0 голосов
/ 22 ноября 2011

С вашим кодом есть две проблемы:

1 - посмотрите на свою отправку в сгенерированном HTML:

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

Вы используете &quot;, когда вы должны использовать фактический"

2 - В некоторых случаях даже после исправления проблемы событие не будет запускаться. Это связано с тем, что страница изменится до того, как вызов Mixpanel сможет разрешиться. Было бы лучшепросто вызвать mpq.track () на самой странице поиска вместо использования события javascript onsubmit.

...