Aller au contenu

Sujets conseillés

Posté (modifié)

Le code de ton formulaire :

<p><form method="post" action="mailinglist3/inscription.php3">
               <input type="text" name="mail" size="20" />
               <input type="submit" value="Go !" name="B1" />
               <br />
               <input type="radio" value="abonne" checked name="choix" />
               <font face="Arial" color="black" size="2">S'abonner
               <input type="radio" name="choix" value="desabonne" />
               Se Désabonner</font>
 </form></p>

L'élément <form> ne peut pas contenir de contenu en ligne, et les <input> sont des éléments en ligne.

Il ne peut contenur que des éléments blocs, et il faut donc inclure le contenu de <form> dans un <table, ou un/des <div>, <p>, <ul><li>, <dl><dt><dd>, etc.

Ce qui donnerait pas exemple, au plus simple :

<form method="post" action="mailinglist3/inscription.php3">
  <p>
     <input type="text" name="mail" size="20" />
     <input type="submit" value="Go !" name="B1" />
     <br />
     <input type="radio" value="abonne" checked name="choix" />
     <font face="Arial" color="black" size="2">S'abonner
     <input type="radio" name="choix" value="desabonne" />
     Se Désabonner</font>
  </p>
</form>

Par ailleurs, un petit gain d'accessibilité facile à mettre en oeuvre : ton titre <h2> est l'étiquette naturelle de ton champ de formulaire. Pourquoi ne pas l'indiquer comme tel, ce qui facilitera l'utilisation du formulaire par les utilisateurs handicapés visuels ou moteurs ?

Le code devient alors :

<form method="post" action="mailinglist3/inscription.php3">
 <h2><label for="mail">S'inscrire à la mailing-list</label></h2>
  <p>
     <input type="text" name="mail" id="mail" size="20" />
     <input type="submit" value="Go !" name="B1" />
     <br />
     <input type="radio" value="abonne" checked name="choix" />
     <font face="Arial" color="black" size="2">S'abonner
     <input type="radio" name="choix" value="desabonne" />
     Se Désabonner</font>
  </p>
</form>

Modifié par LaurentDenis
Posté (modifié)

Ah, j'oubliais la seconde cause d'invalidité : ton checked.

Si on y réfléchis un peu, cette syntaxe HTML est tout de même un peu bizarre :

<input type="radio" value="abonne" checked name="choix" />

On a l'habitude des noms d'éléments (<input>) et des attributs auxquels on donne une valeur (type="radio").

Mais un mot tout seul, comme ça "checked", c'est quoi au juste ?

En fait, en HTML, c'est une forme abrégé d'une syntaxe plus complète (La forme abrégée est valide en HTML).

XHTML n'autorise pas ce type de syntaxe abrégée, et exige la syntaxe complète donnant:

-le nom de l'attribut: "checked"

-la valeur de l'attribut: "checked" encore !

Donc il faut réécrire cette ligne sous la forme :

<input type="radio" value="abonne" checked="checked" name="choix" />

Modifié par LaurentDenis

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...