Partage
  • Partager sur Facebook
  • Partager sur Twitter

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 Jandri 14 février 2018 à 6:08:23

    • Partager sur Facebook
    • Partager sur Twitter
      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 :).

      • Partager sur Facebook
      • Partager sur Twitter

      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?

        • Partager sur Facebook
        • Partager sur Twitter
          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). :)

          • Partager sur Facebook
          • Partager sur Twitter

          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 :)

            • Partager sur Facebook
            • Partager sur Twitter
              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

              • Partager sur Facebook
              • Partager sur Twitter
              Je ne réponds pas aux messages privés.

              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