Table des matières

Les formulaires en HTML

Le langage HTML ne permet pas de traiter des données mais permet de les transmettre à un serveur apte à les traiter. Pour cela il existe un certain nombre de balises permettant de gérer les formulaires.

Connaissances de base

FORM

<FORM method="POST" action="reponse.php"> ... </FORM>

INPUT

<INPUT type="type-de-champ" name="nom-de-la-variable" value="valeur-initiale-de-la-variable" />

Une case à cocher ou un bouton radio peut être pré sélectionné avec l'attribut checked

SELECT

<SELECT name="nom-de-la-variable">
    <OPTION value="valeur-de-la-variable">Texte pour choisir</option>
    <OPTION ...
</SELECT>

Une option peut être pré sélectionné avec l'attribut selected

TEXTAREA

<TEXTAREA name="nom-de-la-variable" cols="largeur" rows="hauteur">Texte initial</TEXTAREA>

Compléments

Un formulaire peut être découpé en plusieurs parties avec les balises

<FIELDSET>
    <LEGEND>Nom de la partie</LEGEND>
    ...
</FIELDSET>

Un champ de données peut être associé à un texte avec la balise <LABEL> et en donnant un attribut id au champ. Chaque id doit être unique sur la page. L'association permet de sélectionner le champ en cliquant sur le label.

<input type="radio" id="Citroen1" name="marque" value="C3" />
    <label for="Citroen1">Citroën modèle C3</label>

Exemple

Formulaire demandant des informations personnelles à un visiteur. 2 méthodes sont utilisées pour connaître le sexe. Le résultat sera traité par la page PHP “reponse.php”.

  <FORM action="reponse.php" method="POST">
    <FIELDSET>
      <LEGEND>Identité</LEGEND>
        <LABEL for='n'>Votre nom ? </LABEL><INPUT type="text" name="nom" id='n' size="30" /><BR/>
        <LABEL for='p'>Votre prénom ? <INPUT type="text" name="prenom" id='p' size="20" />
    </FIELDSET>
    <FIELDSET>
      <LEGEND>Informations</LEGEND>
        <LABEL for='a'>Votre age ? </LABEL><INPUT type="text" name="age" id='a' size="3" /><BR/>
        votre sexe méthode 1 ? 
        <INPUT type="radio" name="sexe1" value="M" id='m' /> <LABEL for='m'>Masculin</LABEL>
        <INPUT type="radio" name="sexe1" value="F" id='f' /> <LABEL for='f'>Féminin</LABEL>
        <INPUT type="radio" name="sexe1" value="?" id='i' checked /> <LABEL for='f'>indeterminé</LABEL>
        <BR/>votre sexe méthode 2 ? 
        <SELECT name="sexe2">
          <OPTION value="?" selected>Choisir</OPTION>
          <OPTION value="M">Masculin</OPTION>
          <OPTION value="F">Féminin</OPTION>
        </SELECT>
    </FIELDSET>
    <INPUT type="submit" value="Envoyer" />
  </FORM>

Compléments

Activités

1)
Mozilla Developer Network