事件跟踪表单提交 - 为什么我必须单击两次?

时间:2014-04-16 15:36:12

标签: jquery forms google-analytics

我是jQuery和分析事件跟踪的新手。我希望跟踪表单提交。我的逻辑是用户点击“提交”,表单等待提交,直到有时间发送到Google的服务器。
跟踪工作正常,但您必须单击提交两次。有什么建议?提前感谢一堆。

   jQuery("form").submit(function(e){
    e.preventDefault();
    ga('send', 'event', 'form', 'submission',location.pathname);
  jQuery(this).unbind('submit');
    setTimeout(function(){
    jQuery(this).submit();
}, 200);

});

我的印象是,您必须阻止提交几秒钟才能将“gif”发送给Google。

以下是有用的网址: http://salisburyrugby.com/recruit-contact/

1 个答案:

答案 0 :(得分:1)

使用Google的内置回调函数hitCallback代替使用setTimeout:

jQuery("form").submit(function(e){
  e.preventDefault();
  ga('send', 'event', 'form', 'submission', location.pathname,{
    'hitCallback' : function(){
       jQuery(this).submit(); 
     }
  }
});