使用Parsley提交的自定义事件

时间:2015-04-27 17:03:08

标签: jquery google-tag-manager parsley.js

我正在尝试将自定义事件添加到Google Analytics跟踪的表单中。表单使用Parsley进行验证。我对在哪里添加代码段感到困惑:

dataLayer.push({'event' : 'signUpForm'});

进入javascript:

    initParsley: function()
{
    $body.find('form.js-validate').parsley();
},

有没有人知道处理此问题的好方法,还是需要提供更多信息?

1 个答案:

答案 0 :(得分:3)

看看Parsley Events Demo

我之前没有和欧芹合作,但看起来你可以这样做:

initParsley: function () {
    $body.find('form.js-validate')
         .parsley()
         .subscribe('parsley:form:validate', function (formInstance) {
            if (formInstance.isValid()) {
                dataLayer.push({
                    'event': 'signUpForm'
                });
                return;
            }
        });
},

因此,在提交表单时,您正在订阅parsley:form:validate事件,并将formInstance传递给实际检查以查看表单是否有效。如果表单有效,那么您将dataLayer事件推送到GTM,然后提交表单。关于这一点的好处是它只会在表格有效的情况下发送活动 - 我相信这是你所追求的。