Mettre les inputs d'une balise TR en checked false
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:
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:
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