Javascript avant soumission du formulaire marche souvent pas toujours

WRInaute passionné
Bonjour,

Je rencontre un problème que je n'arrive pas à reproduire mais que je vois se produire chez certains visiteurs :

J'ai un formulaire, au moment de l'envoi du formulaire j'ai un javascript qui est censé modifier des champs du formulaire avant de l'envoyer.

Ca fonctionne toujours pour moi et pour la plupart des visiteurs, seulement des fois je vois que cela ne fonctionne pas pour certaines personnes, car les champs ne sont pas modifiés (le formulaire est bien envoyé mais avec les valeurs par défaut, pas avec les valeurs qui auraient du être modifiées par le javascript)

J'ai regardé avec google analytics la configuration des visiteurs pour lesquels ca se produit et ca ne vient pas d'une vieille version de IE (<8) mais ils ont toutes sortes de navigateurs et OS. Puisqu'ils apparaissent dans Analytics, je pense que la raison n'est pas le javascript désactivé sur leur navigateur.

Je n'ai pas d'idées de pourquoi cela se produit, est-ce que vous en avez une en regardant le javascript ?

Code:
document.forms['myform'].addEventListener('submit', function(){
// send analytics event
ga('send', 'event', {
    eventCategory: 'Submit form',
    eventAction: 'click',
    transport: 'beacon'
  });

var myredirect = 'http://'+document.querySelector('#myform #myformp').value+'.SiteDeDestination.com/?SOURCE='+document.querySelector('#myform #myformsource').value+'&FNAME='+document.querySelector('#myform #myformfname').value+'&LNAME='+document.querySelector('#myform #myformlname').value+'&EMAIL='+document.querySelector('#myform #myformemail').value+'&PHONE='+document.querySelector('#myform #myformphone').value;

    document.querySelector('#myform #myformredirect').value =  myredirect;
document.querySelector('#myform #myformredirectonlist').value =  myredirect;
document.querySelector('#myform #myformname').value =  document.querySelector('#myform #myformfname').value+' '+document.querySelector('#myform #myformlname').value;

setCookie('fname', document.querySelector('#myform #myformfname').value, 7);
setCookie('lname', document.querySelector('#myform #myformlname').value, 7);
setCookie('email', document.querySelector('#myform #myformemail').value, 7);
setCookie('phone', document.querySelector('#myform #myformphone').value, 7);
setCookie('source', document.querySelector('#myform #myformsource').value, 7);
setCookie('p', document.querySelector('#myform #myformp').value, 7);

});

Merci
 
WRInaute passionné
Puisqu'ils apparaissent dans Analytics, je pense que la raison n'est pas le javascript désactivé sur leur navigateur. Car le code Analytics utilise javascript. Tu penses que je me trompe sur ce point?
Pas d'autre idée par rapport au code?
 
WRInaute passionné
Merci, le formulaire est sur http://www.maigris.com

Quand ça fonctionne, le champ de redirection va vers page.valentusfreetour.com et quand ca ne fonctionne pas il va vers la valeur par defaut sur lesfameusesvideos.com
 
WRInaute passionné
Merci, mais en fait le message captcha d'aweber, ce n'est pas un problème, c'est Aweber qui décide ou pas de montrer un captcha selon ses propres critères.

Le problème c'est que le javascript doit modifier le champ de redirection du formulaire aweber.

Si le javascript fonctionne, la redirection se fait vers valentusfreetour.com sinon ca va vers lesfameusesvideos (dans les deux cas, avec ou sans passer par l'étape captcha d'aweber)

J'ai mis récemment sur la page un script externe, addthis (pour les boutons sociaux) donc c'est vrai que si addthis provoque une erreur javascript pour certains utilisateurs, ca bloque tout le reste du javascript, mais en fait sur analytics je vois que le probleme dont je parle etait déjà présent avant que je mette le script addthis. Donc ca ne vient pas de ca je pense.

Mais alors, ca serait adblock qui empecherait mon javascript de fonctionner? Ca serait une explication oui, du pourquoi les utilisateurs affectés ont tous des navigateurs et OS différents. Donc ca dépendrait de leur paramètres? (ils laissent le code analytics fonctionner, mais pas les autres javascripts?)
Ou alors j'utilise dans mon javascript certains mots qui activent le blocage adblock?
 
WRInaute passionné
Merci beaucoup, c'est sans doute ça alors, n'utilisant pas adblock je n'aurais jamais trouvé.
J'ai regardé leur filter lists et je ne vois rien qui pourrait bloquer ce javascript en particulier, mais bon c'est très probable que ça vienne d'un truc comme ça car sinon je ne vois pas de logique dans le comportement du script.
 
Discussions similaires
Haut