[RESOLU] fonction qui ne fonctionne pas avec tous les naviguateurs

Eléphanteau du PHP | 10 Messages

19 nov. 2018, 18:36

Bonjour à tous,

Voici le code que j'utilise , il fonctionne parfaitement sur firefox et internet explorer mais pas sur chrome, ...
Et il est impératif que ça fonctionne partout, j'ai déjà des problèmes avec les inscriptions !! :?

dans mon formulaire:

Code : Tout sélectionner

<select id="mySelect" name="nb_parti" required> <option value="">Veuillez choisir</option> <option value="1"onclick="myFunction()" >1 participant</option> <option value="2" onclick="myFunction()">2 participants</option> <option value="3" onclick="myFunction()">3 participants</option> <option value="4" onclick="myFunction()">4 participants</option> <option value="5" onclick="myFunction()">5 participants</option> <option value="6" onclick="myFunction()">6 participants</option> <option value="7" onclick="myFunction()">7 participants</option> <option value="8" onclick="myFunction()">8 participants</option> <option value="9" onclick="myFunction()">9 participants</option> </select>
la fonction appelée:

Code : Tout sélectionner

<script type="text/javascript"> function myFunction() { var nb_parti = document.getElementById("mySelect").value ; var cptr=2; var personne_contact = document.getElementById("prenom_contact").value +" "+ document.getElementById("nom_contact").value; while(cptr <= nb_parti){ var input_label = '<label for="prenom'+cptr+'">.</label>'; var input_prenom = '<input type="text" class="" placeholder="Nom '+cptr+'" id="prenom'+cptr+'" name="prenom'+cptr+'" required> '; var input_nom = '<input type="text" class="" placeholder="Prénom '+cptr+'" id="nom'+cptr+'" name="nom'+cptr+'" required>'; var input_label2 = '<br><label for="radio'+cptr+'">Infos de la '+cptr+'ème personne</label>'; var input_radio = '<input type="radio" name="radio'+cptr+'" value="PMR" required> P.M.R<br><label for="radio'+cptr+'">.</label><input type="radio" name="radio'+cptr+'" value="accompagnant" required> Accompagnant<br><br><br>' document.getElementById("id"+cptr+"").innerHTML = input_label + input_prenom + input_nom + input_label2 + input_radio; cptr++; } while(cptr <=9){ document.getElementById("id"+cptr+"").innerHTML = ""; cptr++; } } </script>
Merci d'avance pour votre aide :)

Eléphanteau du PHP | 10 Messages

20 nov. 2018, 09:50

En faisant quelques recherches, je suis tombée sur ça dans l'outil de développement chrome,
message d'erreur qui fait référence à ma fonction JavaScript :
Accessibility node not exposed
Element is not rendered.
J'ai retapé le message d'erreur dans google mais je ne comprends pas ce que je dois faire :(
#needhelp

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

20 nov. 2018, 10:21

Il faudrait que tu avances davantage dans ton debug pour savoir quelles sont les parties de ton code qui ne fonctionnent pas comme prévu.

Par ailleurs tu pourrais simplifier ton code HTML, en remplaçant les onclick sur chaque <option>, pour n'utiliser qu'un onchange sur le <select>.
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 10 Messages

20 nov. 2018, 10:40


Par ailleurs tu pourrais simplifier ton code HTML, en remplaçant les onclick sur chaque <option>, pour n'utiliser qu'un onchange sur le <select>.
=D> J'ai fait comme tu as dit, ça fonctionne nickel sur tous les navigateurs :D :D

Merci beaucoup!! Depuis le temps que je me casse la tête avec ça, la solution était toute simple :roll:

Maintenant, il va falloir que je demande aux gens qui ont inscrits plusieurs personnes à l'activité de se réinscrire :-?

Passe une merveilleuse journée :wink: