Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| dev:javascript:core:fondamentaux [2024/10/12 14:17] – yoann | dev:javascript:core:fondamentaux [2024/10/13 11:24] (Version actuelle) – yoann | ||
|---|---|---|---|
| Ligne 217: | Ligne 217: | ||
| document.getElementById(" | document.getElementById(" | ||
| </ | </ | ||
| + | |||
| + | Les boutons radio partagent l' | ||
| + | |||
| + | <code html> | ||
| + | < | ||
| + | < | ||
| + | <input type=" | ||
| + | <label for=" | ||
| + | <input type=" | ||
| + | <label for=" | ||
| + | <input type=" | ||
| + | <label for=" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Pour les traiter, on récupère l' | ||
| + | |||
| + | <code javascript> | ||
| + | // Récupère tous les balises input de type bouton radio ayant l' | ||
| + | let boutons = document.querySelectorAll(' | ||
| + | |||
| + | let couleur = ""; | ||
| + | |||
| + | for (let i = 0; i < boutons.length; | ||
| + | if (boutons[i].checked) { | ||
| + | couleur = boutons[i].value; | ||
| + | break; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | // Affiche la valeur du bouton radio coché | ||
| + | console.log(couleur); | ||
| + | </ | ||
| + | |||
| + | Par défaut, lorsque l' | ||
| + | |||
| + | Si nos traitements ont lieu côté client, ce comportement par défaut n'est pas approprié : dans ce cas, on peut le désactiver. | ||
| + | |||
| + | Pour désactiver ce comportement par défaut, il faut : | ||
| + | |||
| + | * Écouter cet événement " | ||
| + | * Empêcher ce comportement grâce à la méthode '' | ||
| + | |||
| + | <code javascript> | ||
| + | const form = document.getElementById(" | ||
| + | |||
| + | form.addEventListener(" | ||
| + | // On désactive le rechargement de la page | ||
| + | event.preventDefault(); | ||
| + | console.log(" | ||
| + | }); | ||
| + | </ | ||
| + | |||
| + | En général, on vérifie la saisie de l' | ||
| + | |||
| + | * L’ événement " | ||
| + | * L’ événement " | ||
| + | * L’ événement " | ||
| + | |||
| + | |||
| + | ===== Gestion des erreurs ===== | ||
| + | |||
| + | Javascript utilise la gestion des exceptions via les instructions **try** / **catch** et **throw**. Ce système permet notamment de reporter/ | ||
| + | |||
| + | <code javascript> | ||
| + | |||
| + | function verifyFormField(a_field) { | ||
| + | if (a_field.value === "" | ||
| + | throw new Error(`Le champ ${a_field.id} est vide`) | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | La fonction définie ci-dessus pourra être appelée n fois dans le code pour chaque champ du formulaire mais selon les besoins, la gestion des erreurs pourra être différente : | ||
| + | |||
| + | <code javascript> | ||
| + | let form = document.querySelector(" | ||
| + | |||
| + | form.addEventListener(" | ||
| + | try { | ||
| + | event.preventDefault(); | ||
| + | |||
| + | let name_field = document.getElementById(" | ||
| + | verifyFormField(name_field); | ||
| + | |||
| + | let mail_field = document.getElementById(" | ||
| + | verifyFormField(mail_field); | ||
| + | |||
| + | // traitements du formulaire | ||
| + | // ... | ||
| + | } catch (error) { | ||
| + | //gestion des erreurs centralisée et adaptée à l' | ||
| + | console.log(" | ||
| + | } | ||
| + | }) | ||
| + | </ | ||
| + | |||
| + | |||
| ===== Tests ===== | ===== Tests ===== | ||
| + | |||
| Frameworks de tests : | Frameworks de tests : | ||