Travailler avec des radio boutons en JavaScript
#1
Introduction
Pour faire ce tutoriel, des connaissances HTML sur les formulaires et les champs de formulaires sont nécessaires. Si vous avez besoin, vous avez un tutoriel dans la partie HTML-CSS de ce site ici. De plus, si vous avez fait les tutoriels JavaScript sur le DOM, cette partie devrait vous paraître assez facile.
#2
La propriété checked
- Prenez Sublime Text et créez un fichier
radio.htmlsur votre bureau. - Tapez
!>(form>input[type=radio])+script+TAB. - Déclarez une variable
eltet affectez-la à unquerySelector()sur l'input. - Faites un
console.log()de la propriétéchecked. - Constatez que la propriété
checkedestfalse.
- Maintenant, vous allez cocher le bouton radio au niveau du HTML en ajoutant l'attribut
checked. - Exécutez à nouveau le script, et constatez que la propriété
checkeda maintenant la valeurtrue.
#3
La propriété value
- Maintenant, ce que l'on va faire, c'est un vrai groupe de bouton radio de manière que cela ait un sens. Pour cela, ajoutez un attribut
nameavec la valeur'choix'. - Ajouter un attribut
valueavec la valeur0. - Dupliquez 2 fois la ligne puis supprimez le
checkedsauf au deuxième radio. Arrangez les valeurs devaluepour avoir0,1,2. - Au niveau JavaScript, changez le
querySelector()enquerySelectorAll()pour récupérer tous les input. - Ajoutez un
sàeltde manière à avoireltscomme nom de variable. Le pluriel nous indique que c'est un tableau. Une pratique qui améliore la lisibilité. - Maintenant, on va parcourir le tableau. Faites une boucle
forsurelts. - Dans la boucle, insérez un
ifpour tester si lecheckedcourant esttrue. Si c'est le cas, c'est celui qui est coché. Par construction, il ne peut y en avoir d'autre, donc on sort de la boucle. - Affichez avec un
console.log()la valeur de la propriétévaluedu radio qui correspond à l'indice en sortie de la boucle.
- Si vous voulez améliorer un peu, et pouvoir afficher le radio qui est coché à chaque changement, vous pouvez mettre un gestionnaire d'événement. Le mieux est de le mettre sur un parent des trois radio. Ici, vous allez le mettre sur le formulaire. Vous faites un
querySelector()sur leformet vous lui mettez unaddEventListener()sur l'événementchange. - Enfin dans la fonction du gestionnaire, vous placez votre boucle de parcours des
input.





