2010-09-08 13 views
1

J'utilise un formulaire fourni par PayPal afin de vendre quelque chose sur mon site. Avant que l'utilisateur tape "checkout" via le bouton de formulaire paypal, cependant, je veux suivre un événement dans Google Analytics. J'ai trouvé cet article via google analytics http://code.google.com/apis/analytics/docs/tracking/eventTrackerGuide.html qui explique comment suivre l'événement personnalisé, mais je ne sais pas comment l'ajouter avant que le formulaire est soumis de sorte que la soumission de formulaire n'est pas non plus interrompue.comment interrompre un formulaire soumettre à appeler du javascript?

J'imagine que c'est du javascript de base?

merci!

Répondre

4

Vous pouvez joindre l'événement click du bouton ou l'événement submit du formulaire. Ce dernier est meilleur, car les soumissions peuvent se produire en appuyant sur la touche ENTER dans une zone de texte. Dans ce cas, un clic sur un bouton ne détecterait pas un tel envoi.

donc bouton clic:

$("buttonID").click(function(){...}); 

ou formulaire soumettre:

$("formID").submit(function(){...}); 

Dans votre fonction, vous devez faire ce qui est requis par les analyses et la soumission sera automatiquement continuer après (tant qu'il y » re pas d'erreurs qui arrêteraient l'exécution de javascript).

+0

Excellent - quelqu'un sait comment retarder la soumission du formulaire pendant une seconde aussi, donc les GAnalytics ont le temps de poster? –

-1

Vous pouvez ajouter à votre balise form

<form onsubmit="return do_something()" > 

Ensuite, écrivez la do_something fonction et le rendre renvoie toujours (comme toute autre chose arrêtera la forme de présentation). Vous pouvez également lier l'événement submit à votre formulaire à partir du javascript en utilisant:

element.submit = do_something (note the fact that we're using a callback here 
           not the function itself) 
+2

Ce n'est pas la méthode préférée pour attacher aux événements DOM, car un seul événement peut être attaché à un élément de cette façon. Que se passe-t-il si plus tard, dans son code, quelqu'un d'autre écrit: 'element.submit = do_something_else();'? –

+0

Sans Jquery, quelle est la méthode préférée? – lemiant

+3

Element.addEventListener ('submit', fn, false); – ShrekOverflow

Questions connexes