Function pour afficher plusieurs checkbox ayant le même nom
Résolu
danielos77
Messages postés
108
Date d'inscription
Statut
Membre
Dernière intervention
-
danielos77 Messages postés 108 Date d'inscription Statut Membre Dernière intervention -
danielos77 Messages postés 108 Date d'inscription Statut Membre Dernière intervention -
Bonjour à toutes et à tous,
J'ai ce petit script dont le but devrait être de récupérer les valeurs des checkbox et de les afficher (val1 ; val2 ; ..) mais il ne doit pas fonctionner car la popup ne s'affiche pas... donc la variable freqused ne doit rien contenir non plus. Cette fonction devrait être appelée à chaque fois qu'un choix est fait dans une checkbox afin de modifier le contenu de la variable.
Le code des checkbox est le suivant :
Si une bonne âme pouvait me venir en aide... Merci d'avance
Daniel
J'ai ce petit script dont le but devrait être de récupérer les valeurs des checkbox et de les afficher (val1 ; val2 ; ..) mais il ne doit pas fonctionner car la popup ne s'affiche pas... donc la variable freqused ne doit rien contenir non plus. Cette fonction devrait être appelée à chaque fois qu'un choix est fait dans une checkbox afin de modifier le contenu de la variable.
<script type="text/javascript"> function checkbox() { var freqused = document.getElementsByName("FreqUsed[]"); var i; for (i = 0; i < x.length; i++) { freqused[i] == (document.forms["0"].elements["FreqUsed[]].value"+" ; "); } w=open("",'popup','width=250,height=150,toolbar=no,scrollbars=auto,resizable=yes'); w.document.write(freqused); } </script>
Le code des checkbox est le suivant :
<p> <LABEL for="FreqUsed">27 Mhz :</LABEL> <input type="checkbox" name="FreqUsed[]" value="27" onclick="function checkbox()" /> <LABEL for="Freq27">Fréquence utilisée :</LABEL> <input type="text" name="Freq27" id="Freq27" size="10" style="text-align:right" pattern="[0-9,]+" placeholder="00,0000" /> MHz <br> <LABEL for="FreqUsed">41 Mhz :</LABEL> <input type="checkbox" name="FreqUsed[]" value="41" onclick="function checkbox()" /> <LABEL for="Freq41">Fréquence utilisée :</LABEL> <input type="text" name="Freq41" id="Freq41" size="10" style="text-align:right" pattern="[0-9,]+" placeholder="00,0000" /> MHz <br> <LABEL for="FreqUsed">72 Mhz :</LABEL> <input type="checkbox" name="FreqUsed[]" value="72" onclick="function checkbox()" /> <LABEL for="Freq72">Fréquence utilisée :</LABEL> <input type="text" name="Freq72" id="Freq72" size="10" style="text-align:right" pattern="[0-9,]+" placeholder="00,0000" /> MHz <br> <LABEL for="FreqUsed">2,4 Ghz :</LABEL> <input type="checkbox" name="FreqUsed[]" value="2400" onclick="function checkbox()" /> <br> </p>
Si une bonne âme pouvait me venir en aide... Merci d'avance
Daniel
Configuration: Windows / Firefox 76.0
A voir également:
- Function pour afficher plusieurs checkbox ayant le même nom
- Nom pour facebook stylé - Guide
- Nom de l'adresse - Forum Réseaux sociaux
- Dans le diaporama à télécharger, les diapositives s’enchaînent automatiquement. combien de temps la diapositive crayon met-elle à s’afficher ? combien de temps reste-t-elle affichée à l’écran ? ✓ - Forum Powerpoint
- Changer le nom de plusieurs fichiers en même temps - Guide
- Changer le nom de son iphone - Guide
4 réponses
Bonjour,
ça devrait ressembler à un truc du genre
ça devrait ressembler à un truc du genre
function checkbox() { var x = document.getElementsByName("FreqUsed[]"); var freqused; var i; for (i = 0; i < x.length; i++) { freqused += x[i].value +" ; "); } w=open("",'popup','width=250,height=150,toolbar=no,scrollbars=auto,resizable=yes'); w.document.write(freqused); }
Voici le code corrigé
<html> <head> <title> test </title> <meta charset='utf-8'> </head> <body> <p> <LABEL for="FreqUsed">27 Mhz :</LABEL> <input type="checkbox" name="FreqUsed[]" value="27" onclick="checkbox()" /> <LABEL for="Freq27">Fréquence utilisée :</LABEL> <input type="text" name="Freq27" id="Freq27" size="10" style="text-align:right" pattern="[0-9,]+" placeholder="00,0000" /> MHz <br> <LABEL for="FreqUsed">41 Mhz :</LABEL> <input type="checkbox" name="FreqUsed[]" value="41" onclick="checkbox()" /> <LABEL for="Freq41">Fréquence utilisée :</LABEL> <input type="text" name="Freq41" id="Freq41" size="10" style="text-align:right" pattern="[0-9,]+" placeholder="00,0000" /> MHz <br> <LABEL for="FreqUsed">72 Mhz :</LABEL> <input type="checkbox" name="FreqUsed[]" value="72" onclick="checkbox()" /> <LABEL for="Freq72">Fréquence utilisée :</LABEL> <input type="text" name="Freq72" id="Freq72" size="10" style="text-align:right" pattern="[0-9,]+" placeholder="00,0000" /> MHz <br> <LABEL for="FreqUsed">2,4 Ghz :</LABEL> <input type="checkbox" name="FreqUsed[]" value="2400" onclick="checkbox()" /> <br> </p> <script type="text/javascript"> function checkbox() { var x = document.getElementsByName("FreqUsed[]"); var freqused; var i; for (i = 0; i < x.length; i++) { // si la case est cochée if(x[i].checked == true ){ var chkvalue = x[i].value; //si la checkbox a bien une value if(typeof(chkvalue)!="undefined" && chkvalue!=null ){ console.log('Checkbox value ',chkvalue ); var inpVal = ""; var inp = document.getElementById('Freq' + chkvalue ); // input correspondant à la checkbox // Si l'input existe if(typeof(inp) !='undefined' && inp !=null){ inpVal = inp.value; } freqused += chkvalue +": " + inpVal + "; "; // on concatène l'id de la checkbox et la value de l'input correspondant } } } w=open("",'popup','width=250,height=150,toolbar=no,scrollbars=auto,resizable=yes'); w.document.write(freqused); } </script> </body> </html>