Partage

L'utilité de la balise <form>

Sujet résolu
14 février 2018 à 2:48:09

Bonjour à tous.

Voilà, je commence tout juste à utiliser JavaScript et j'utilise des formulaires dans mon code HTML.

Sauf que finalement, à part le fait que les balises <form> permettent de créer un bloc, je ne vois pas tellement à quoi elles servent réellement. Pareil pour le fait de donner des value aux balises <input>, même si les name servent apparement à distinguer les groupes de boutons de type="radio" (mais du coup pour les autres types je ne comprends pas trop non plus).

Pareil avec les balises <label>. Je veux dire, si c'est juste pour écrire à côté du bouton à quoi il sert, alors on peut le faire avec <p> ou carément mettre du texte comme ça.

Alors du coup, pourquoi ça existe? Moi je parcoures juste mes <input> avec document.getElementsByTagName("input") ...

Merci pour ceux qui répondront.

-
Edité par Chaussette56220 14 février 2018 à 6:08:23

Vous êtes demandeur d'emploi ?
Sans diplôme post-bac ?

Devenez Développeur web junior

Je postule
Formation
en ligne
Financée
à 100%
14 février 2018 à 5:53:29

Bonjour,

Effectivement si tu fais uniquement du développement front (html/css/js) la balise form fait pas grand chose. 

Ça reste de la sémantique donc important à respecter mais c'est tout.

Par contre cette balise s'avère très importante si le site est dynamique (avec du PHP par exemple).

Prenons l'exemple suivant :

<input type="email" name="email" />
<form action="/form1">
    <input type="text" name="firstname" />
    <input type="text" name="lastname" />
    <input type="submit" value="Valider" />
</form>

Ici nous avons un formulaire assez simple avec un champ pour le prénom, un pour le nom, un bouton pour valider le formulaire et hors de la balise form un champ pour l'email.

Si l'utilisateur clique sur le bouton "Valider" il sera envoyé sur la page "/form1" (l'action spécifiée dans la balise form) et dans cette page on pourra accéder grâce au PHP (ou tout autre langage serveur) aux valeurs saisies dans les champs "firstname" et "lastname" par contre comme l'input email n'était pas dans la balise form on aura pas accès à la valeur située dans ce champ.

Voilà a quoi sert la balise form :).

Développeur PHP / Symfony en Freelance
14 février 2018 à 6:07:40

D'accord, je vois, merci de ta réponse :) Je crois que je n'en ai pas tellement besoin pour ce que je veux faire mais c'est bien de le savoir.

Et au niveau de la sémantique, ça reste correct si je rajoute d'autres balises dans le formulaire que celles qui servent aux formulaires?

14 février 2018 à 6:17:26

Ça peut aussi avoir quelques utilités en JS (l'objet FormData, la validation d'un formulaire, etc) mais c'est vrai que sont utilité est réduite quand on fait que du front.

Et oui tu peux mettre ce que tu veux dans une balise form (sauf une autre balise form). :)

Développeur PHP / Symfony en Freelance
14 février 2018 à 6:34:21

Pour le moment je me sers juste de truc comme addEventListener("click", unBouton) et ça marche plutôt bien, en tout cas ça me convient par rapport à ce que j'ai en tête pour l'instant ^^ Je suis débutant donc je vais à mon rythme.

Merci pour te réponses en tout cas :)

14 février 2018 à 9:33:53

Bonjour,

En plus de l'utilité déjà décrite, il y a également une utilité d'un point de vue sémantique. Cela permet d'indiquer au navigateur que ce bloc de code est un formulaire.  C'est également toute l'utilité des balises header, nav, article, footer,... : structurer le code source, augmenter l'extraction d'informations, etc etc. Plus d'informations ici : https://openclassrooms.com/courses/la-semantique-1

Recherche l'avis de développeurs front : Devenir un meilleur dev front ?

L'utilité de la balise <form>

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
  • Editeur
  • Markdown