Bonjour à tous,
Je croyais avoir saisi le principe (beaucoup de message, mais rien que j'arrive à adapter), mais visiblement j'ai pas la solution qui fonctionne, je viens donc vous solliciter pour une aide:
J'ai une extraction qui se fait d'une BDD dans un formulaire avec des boutons radios pour la selection, mais j'ai fais un exemple court représentatif sur 2 lignes:
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 <form> <table> <tr> <td><div class="form-radio"> <input type="radio" name="radel[]" id="btnradio" class="btnradio" value="" /> </div></td> <td><div class="box"> <input type="text" name="nom" placeholder="nom" class="inp_form" value="nom" disabled /> </div></td> <td><div class="box"> <input type="text" name="nom" placeholder="prenom" class="inp_form" value="prenom" disabled /> </div></td> <td><div class="box"> <input type="text" name="email" placeholder="email" class="inp_form" value="email" disabled /> </div></td> </tr> <tr> <td><div class="form-radio"><input type="radio" name="radel[]" id="btnradio2" class="btnradio" value="" /> </div></td> <td><div class="box"><input type="text" name="pseudo" placeholder="pseudo" class="inp_form" value="" id="" disabled /> </div></td> <td><div class="box"><input type="text" name="genre" placeholder="genre" class="inp_form" id="" disabled /> </div></td> </tr> </table> </form>
et le JS
Code JS : 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 // Sélection d'un bouton radio const btradios = document.querySelectorAll('input[type="radio"]'); btradios.forEach(radio => { radio.addEventListener('change', function() { const trElement = this.closest('tr'); // Selection de l'élement parent "tr" if (this.checked === true) { // On active tous les champs de text input de l'élément tr trElement.querySelectorAll('input[type="text"]').forEach(input => { input.disabled = false; }); } if (checked === false){ // de-active tous les champs de text input de l'élément tr trElement.querySelectorAll('input[type="text"]').forEach(input => { input.disabled = true; }); } }); });
Cela ne fonctionne qu'à moitié, car lorsque je sélectionne un autre bouton radio, les inputs ne sont pas à nouveau disabled.
J'espère que mes explications sont compréhensibles. lol et par avance merci de vos aides.
JLuc
Partager