谷歌通用分析表格提交

谷歌通用分析表格提交

问题描述:

我正在尝试编写一个JavaScript代码跟踪表单提交,给访问者带来最少的不便。我试图编程的流程就是这样。谷歌通用分析表格提交

  1. 用户点击提交或按下回车提交表单(留下相关的评论)。
  2. 附加表单提交处理程序捕获此事件并阻止表单提交。
  3. 脚本发送谷歌分析事件,在命中回调(我不想用超时方法),该处理器是 删除,表单提交

然而,问题我面临的是,该表单不是(重新)提交谷歌分析回调提交。处理程序被删除,因为第二次手动提交表单会导致正常行为。

我的代码是:

var formSubmitHandler = function(event){ 
    event.preventDefault(); 

    ga('send', 'event', 'Form Submit', 'Form Submit', 'Form Submit', 
     {'hitCallback': 
      function() { 
       jQuery(event.target).submit(); 
      } 
     }); 

    return false; 
} 

jQuery(document).ready(function($) { 

    if (typeof(ga)==='undefined') 
     return; 
    jQuery('form').one('submit',formSubmitHandler); 
}); 

在这个问题上的任何帮助,将不胜感激。

你想要submit的形式,而不是再次触发submit事件。

请更改:

jQuery(event.target).submit(); 

要:

event.target.submit(); 
+0

我明白了,不过,这将导致一个函数没有定义的错误。显然这是由于在表单中名为submit的输入按钮的情况。无论有没有名为submit present的输入按钮,我都可以通过这种方式做到这一点? – 2014-11-02 10:27:31

+0

不是我所知道的。您可能想要重命名该输入按钮。 – PeterKA 2014-11-02 10:42:13