我想跟踪每次访问者单击 AJAX 联系表单的提交按钮。我在 Google Analytics 中创建了一个事件,并计划在提交按钮代码中添加一些 javascript。
这是当前的提交按钮代码:
<button class="button" title="Send" type="submit"><span><span>Send</span></span></button>
这是我添加类别、操作等后代码的外观:
<button class="button" title="Send" type="submit" onClick="_gaq.push(['_trackEvent', 'Contact', 'Inquiry', 'Inquiry Form', 0, false]);"><span><span>Send</span></span></button>
这个对吗?有什么建议么?谢谢!
更新 - 这是我看到某种表单验证的 javascript。正如 Crayon Violent 所建议的那样,我想避免跟踪失败的表单提交。现在的问题是我应该在哪里添加 Google Analytics 代码,这样我才能只跟踪成功的表单提交?注意:为了保护网站所有者的隐私,我将域名/品牌替换为“XXXXXX”,您还会注意到这里提到了两种表格,一种是联系表格,另一种是求职者发送简历的表格。好吧,是的,我知道在同一页面上同时显示两个表单有点混乱,可能会使用户感到困惑,但这并不取决于我:(
<script type="text/javascript">
//<![CDATA[
var contactForm = new VarienForm('contactForm', true);
var contactFormCv = new VarienForm('contactFormCv', true);
jQuery(function(){
jQuery('#contactForm input, #contactForm textarea').each(function(){
jQuery(this).focus(function(){
jQuery(this).css({'background-position': '1000px 1000px'});
}).blur(function(){
if(jQuery(this).val() == ''){
jQuery(this).css({'background-position': '5px 9px'});
}
});
});
jQuery('#contactForm').submit(function(){
jQuery('.form-column .message', form).remove();
var form = jQuery(this);
var message = jQuery('<div class="message"></div>');
jQuery('.form-column', form).append(message);
if(contactForm.validator.validate()){
jQuery(message).html('<img src="http://www.XXXXXX.com/skin/frontend/np/XXXXXX/images/XXXXXX/sending-contact.gif" />');
var data = '';
jQuery('input, select, textarea', this).each(function(){
var name = jQuery(this).attr('name');
var val = jQuery(this).val();
data = data+name+'='+val+'&';
});
jQuery.ajax({
type: "POST",
url: jQuery(this).attr('action'),
data: data,
success: function(data){
if(data == 'true'){
jQuery('input, select, textarea', form).val('').css({'background-position': '5px 9px'});
jQuery(message).html('Mensaje enviado.');
}
}
});
}
return false;
});
var iframe = jQuery('<iframe></iframe>').attr({id: 'uploadcv', name: 'uploadcv', scrolling: 'none', frameborder: 0}).addClass('uploadcv').css({height: 0, width: 0, border: 0, display: 'none'});
jQuery('#contactFormCv').attr({target: 'uploadcv'}).submit(function(){
var form = jQuery(this);
var message = jQuery('<div class="message"></div>');
form.after().append(message);
if(contactFormCv.validator.validate()){
jQuery(message).html('<img src="http://www.XXXXXX.com/skin/frontend/np/XXXXXX/images/XXXXXX/sending-contact.gif" />');
iframe.load(function(){
jQuery('input, select', form).val('');
jQuery(message).html('Mensaje enviado.');
});
}
}).after().append(iframe);
});
//]]>