Sto tentando di aggiungere il tracciamento degli eventi di analisi a un evento onclick per un input di invio su un modulo.Attivazione di un evento di analisi di Google sul modulo inviare
Ho provato più esempi diversi e ho fatto riferimento a un paio di post SO diversi per arrivare a questo punto. Sono in grado di ottenere l'onclick per inviare il modulo OPPURE attivare l'evento di tracciamento ma non entrambi.
Primo esempio: (forma Sottopone + registri per console, ma non si aziona evento)
<!-- Analytics tracking code -->
<form action="test.php" id="form" method="post">
<input type="text" name="name" id="name">
<!-- Submits form + logs to console but doesn't fire event -->
<input type="submit" name="submit" value="Submit" onclick="
var _this = this;
_gaq.push(
['_trackEvent', 'Forms', 'Submit', 'Home Contact'],
function() {
console.log('submitting');
$(_this).parents('form').submit();
}
);
">
</form>
secondo esempio: (evento si attiva + registri per console, ma non inviare il modulo)
<!-- Analytics tracking code -->
<form action="test.php" id="form" method="post">
<input type="text" name="name" id="name">
<!-- Fires event + logs to console but doesn't submit form -->
<input type="submit" name="submit" value="Submit" onclick="
var _this = this;
_gaq.push(['_set','hitCallback',function(){
console.log('submitting');
$(_this).parents('form').submit();
}]);
_gaq.push(
['_trackEvent','My category','My action']
);
return !window._gaq;
">
</form>
Ho anche scoperto che se aggiungo return false alla fine dell'evento onclick del primo esempio, si attiva il tracciamento dell'evento Analytics ma non si invia il modulo.
ho modificato questa per avere un timeout 1 sec + aggiunto un mancante [nelle analisi spingono codice. Il tracciamento degli eventi ha funzionato ma il modulo non è stato inviato. – James
Mi spiace per l'errore di battitura (e il ritardo mancante su setTimeout!) - è necessario solo un breve ritardo, 150 ms sembra funzionare. Ho anche aggiunto un esempio alternativo. – mike
Ancora non riesco a farlo funzionare, entrambi attivano l'evento di analisi ma nessuno dei due invierà il modulo. Non posso fare a meno di sentirmi mancare qualcosa di ovvio. – James