Как добавить код яндекс.метрики в обработчик формы?
Коллеги, прошу помощи:
есть форма заявки на сайте и js-обработчик этой формы, который ее валидирует и отправляет на мыл, если все ок. Нужно добавить в обработчик отслеживание целей яндекс.метрики. Стандартные варианты для формы, предлагаемые яндексом типа <form action="" method="get" onsubmit="yaCounterXXXXXX.reachGoal('ORDER'); return true;"> не подходят и/или не работают. Хелп яндекса по сабжу: help.yandex.ru/metrika/objects/reachgoal.xml Вот часть кода обработчика формы (файл scripts.js): submitForm: function (e) { e.preventDefault(); var form = $(this), submitBtn = form.find('button[type="submit"]'); if( app.validateForm(form) === false ) return false; /* var yaCounter12345678 = new Ya.Metrika({id: 12345678}); yaCounter12345678.reachGoal('CONTACT'); */ var str = form.serialize(); $.ajax({ url: '/sendform.php', type: 'POST', data: str }) .done(function(msg) { if(msg === "OK"){ var result = "<div class='bg-success'>Благодарим за вашу заявку, мы скоро свяжемся с вами!</div>"; form.html(result); }else{ form.html(msg); } }); }, Собственно примерный вызов метрики в коде есть (закомментирован), но не работает, естественно. Насколько понимаю из-за [не]видимости объекта или неправильного использования объекта/метода Метрики, но опыта в js не хватает, чтобы исправить ( Головной хтмл, где подключается scripts.js с обработчиком, выглядит так: <!DOCTYPE html> ... <body> <!-- Yandex.Metrika counter --> <script type="text/javascript"> (function (d, w, c) { (w[c] = w[c] || []).push(function() { try { w.yaCounter12345678 = new Ya.Metrika({id:12345678, ... <!-- /Yandex.Metrika counter --> ... ... ... <script src="js/scripts.js"></script> </body> </html> Прошу помочь правильно вызвать код Метрики в обработчике формы, чтобы отслеживались цели. |
Проблема решена, тема закрыта.
|
Часовой пояс GMT +3, время: 09:01. |