Bonjour à tous,
J'ai de nouveau besoin de vous pour un mystère que je n'arrive pas à comprendre.
Je cherche à récupérer la valeur qui a été checké d'un bouton radio qui peux être répété sur x lignes.
Voici déjà le bout de code en question.
Pour le formulaire:
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 ... <div class="form-group row"> <!-- ADRESSE ARCHIVEE --> <label for="flag_archive_societe_adresse" class="col-sm-12 col-md-3 col-form-label col-form-label-sm d-none d-xl-block">Adresse archivée</label> <label for="flag_archive_societe_adresse" class="col-sm-12 col-md-3 col-form-label col-form-label-sm d-block d-xl-none">Archivée</label> <div class="col-md-3 col-sm-5"> <div class="form-check form-check-inline"> <label class="form-check-label"> <input class="form-check-input" type="radio" name="flag_archive_societe_adresse[]" id="oui_<?php echo $numero_ligne_adresse; ?>" value="1"> Oui </label> </div> <div class="form-check form-check-inline"> <label class="form-check-label"> <input class="form-check-input" type="radio" name="flag_archive_societe_adresse[]" id="non_<?php echo $numero_ligne_adresse; ?>" value="0"> Non </label> </div> </div> </div> ...
Pour le Javascript:
Quand j'ai 1 ligne pas de problème je récupère bien la valeur, deux lignes pareils le problèmes vient si j'ai plus de 2 lignes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 ... if( document.getElementById( 'oui_' + num_ligne ).checked ) liste_concat_flag_archive_adresse_societe_select += "1"; if( document.getElementById( 'non_' + num_ligne ).checked ) liste_concat_flag_archive_adresse_societe_select += "0"; ...
En effet, il va alors me récupérer seulement 2 valeurs sur les 3 ou 4 ou 5 ...
Peux importe la ligne, si je coche deux boutons sur les 4 lignes il va bien me les récupérer mais si j'en coche 3 il va me prendre les 2 derniers.
A noter que j'ai bien vérifié que les id soient unique et c'est bien le cas et la j'avoue ne pas comprendre.
Merci par avance.
Nicolas
Partager