您可以连接到表单的提交侦听器,阻止默认提交事件,触发 Google Analytics 代码,然后手动提交表单,如下所示:
$('#formID').submit(function(e){
var self = this;
e.preventDefault(); // Prevent Default Submit Event
_gaq.push(['_trackEvent', 'Decode', 'Decode copying', 'Export to Word']);
self.submit(); // Manually Trigger Submit
});
这是一个 JSFiddle示例。
我希望这有帮助!
更新
如果您的表单有多个按钮并且您只想跟踪特定的按钮,请考虑将一个类应用于您希望跟踪的按钮,然后在提交时检查它,如下所示:
HTML:
<form id="theForm" action="#" method="post">
<input type="text" />
<input type="submit" value="Track Submit" class="track" />
<input type="submit" value="Submit" />
</form>
JS:
// Identify Clicked Submit Button
$('#theForm input[type=submit]').on('click', function(){
// Reset Previous Data
$('#theForm input[type=submit]').data('clicked', 'false');
// Set Button as Clicked
$(this).data('clicked', 'true');
});
// Hook into Form Submit
$('#theForm').submit(function(e){
var self = this;
// Prevent Default Submit
e.preventDefault();
// Track ONLY if Clicked Button has Class of 'track'
$('input[type=submit]', this).each(function(){
if ($(this).data('clicked') == 'true' && $(this).hasClass('track') === true){
alert('TRACK DATA');
}
});
// Manually Submit Form
self.submit();
});
在这里更新了小提琴。