3 votes

OnClick avec input type="image"

J'ai tourné en rond en essayant de trouver une réponse définitive. En gros, je veux ajouter le suivi d'événements Google Analytics à une soumission de formulaire - j'espérais y ajouter un onClick, mais j'ai du mal à savoir si tous les navigateurs le supportent.

J'ai demandé à la personne qui a conçu le formulaire, et elle a dit que la raison pour laquelle ils n'ont pas utilisé le type de bouton est que cela causait des problèmes lors de la soumission du formulaire dans certains navigateurs, mais elle ne pouvait pas se rappeler lesquels.

Alors, est-ce que cela fonctionnera sur tous les navigateurs, ou devrais-je passer à un bouton?

Code pertinent ci-dessous:

ÉDITER J'ai _gaq défini. Le véritable objectif de cette question est de s'assurer qu'utiliser un onClick avec une image input est OK à faire.

7voto

hunter Points 33850

Essayez de le câbler un peu différemment

Et créez votre fonction de la manière suivante:

    function SignMeUp()
    {
        if (!!_gaq) // assurez-vous que _gaq est défini
            _gaq.push(['_trackEvent', 'Inscriptions', 'Inscrire', 'Lightbox']);
    }

0voto

Vous n'avez pas besoin de définir la variable _gaq mais vous devez importer le script Google.

Voici un exemple de mon code

var _gaq = _gaq || [];
// J'utilise des formulaires web asp.net et je récupère le code Google Analytics depuis la configuration
_gaq.push(['_setAccount', '<%= ConfigurationManager.AppSettings["google.analytics.code"] %>']);

(function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X