Version complète: sur le forum Webmaster Hub : vos critiques svp merci m'interessent
Webmaster Hub > Accueil > Le salon de Webmaster Hub
Mado
bonjour

j'ai refait un de mes sites et je voulais avoir votre avis

le code n'est pas valide a cause du formulaire mais je n'ai pas compris ou etait l'erreur

merci

Marie

http://www.zengrafom.org/index.html
LaurentDenis
Le code de ton formulaire :
CODE
<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&eacute;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 :
CODE
<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&eacute;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 :
CODE
<form method="post" action="mailinglist3/inscription.php3">
 <h2><label for="mail">S'inscrire &agrave; 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&eacute;sabonner</font>
  </p>
</form>
LaurentDenis
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 :

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

CODE
<input type="radio" value="abonne" checked="checked" name="choix" />
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.