5568 sujets

Sémantique web et HTML

Bonsoir à tous,

Toujours dans un optique d'apprendre plus, je suis en train de supprimer tout le positionnement des <div> de mes fichiers html. Je bascule donc tout dans le css avec un id pour chaque bloc. J'ai reussi à valider et modifier tout les fichiers sauf le formulaire de contact qui me pose probleme.

Le Code :

<div class="textleft" id="contact-2">	
<form action="**************" method="post">
<input type="hidden" size="50" name="Sender" value="**********" />
<input type="hidden" size="50" name="TO" value="*****************" />
<input type="hidden" size="50" name="Blat_Subject" value="Question du site internet ********************" />
<input type="hidden" size="50" name="SERVER" value="***********" />
<input type="hidden" name="Blat_success" value="*****************/msgok.html" />
<input type="hidden" name="Blat_Mime" value="Y" />
<table id="contact-table">
<tr><td class="contact-td">Nom :  </td><td class="contact-td">  <input type="text" name="NOM" size="42" value="" /></td></tr>
<tr><td class="contact-td">Prénom :  </td><td class="contact-td">  <input type="text" name="NOM" size="42" value="" /></td></tr>
<tr><td class="contact-td">E-mail :  </td><td class="contact-td">  <input type="text" name="EMAIL" size="42" value="" /></td></tr>
<tr><td class="contact-td">Message :  </td><td class="contact-td">  <textarea rows="18" cols="32" name="COMMENTAIRES"></textarea></td></tr>
<tr><td class="contact-td">   </td><td class="contact-td">   <input type="submit" id="butn_1" value="Envoyer" />  </td></tr>
</table>	
</form>
</div>


L'erreur renvoyé par W3c :
a écrit :
document type does not allow element "input" here; missing one of "p", "h1", "h2", "h3", "h4", "h5", "h6", "div", "pre", "address", "fieldset", "ins", "del" start-tag
…interne*****************" />&#9993;
The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element.

One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>").


Avez vous une idée...?
Modifié par pika28 (17 Sep 2009 - 11:22)
Administrateur
Hello,

Les éléments xHTML sont scindés en deux groupes : les éléments de type Bloc et les éléments de type En-ligne.
Cela influe sur les éléments qu'ils peuvent contenir.
Ainsi un bloc peut contenir d'autres blocs et des en-ligne; mais un élément de type en-ligne ne peut pas contenir de blocs... sauf quelques exceptions.

Ces deux liens vont te permettre de comprendre pourquoi certaines de tes imbrications ne sont pas valides.

Bonne journée.
En plus clair : tes input hidden sont mal placés. Je sais que ça peut paraître illogique, mais au même titre que les autres types d'input, ils doivent se trouver dans un paragraphe, une cellule ou un autre conteneur.
Le probleme n'est justeent pas resolu, apres lecture des post sur les elements type bloc et enligne, j'ai pourtant assimilé l'essenssiel mais je pige toujours pas le probleme.

Mes input sont des elements enligne et sont bien contenu dans des blocs....
Les éléments input (et tout autre élément de formulaire), comme l'a expliqué Quentin ne peuvent être directements enfant de l'élément form. Ils doivent être contenu, comme le signale le message d'erreur du valisateur dans un élément p, div, Hn...
Bizarement, j'ai juste modifier les deux premieres et derniere balise et ca marche, c'est assez succeptible quand meme des fois.... lol

<form action="**************" method="post">
<div class="textleft" id="contact-2">
<input type="hidden" size="50" name="Sender" value="**********" />
<input type="hidden" size="50" name="TO" value="*****************" />
<input type="hidden" size="50" name="Blat_Subject" value="Question du site internet ********************" />
<input type="hidden" size="50" name="SERVER" value="***********" />
<input type="hidden" name="Blat_success" value="*****************/msgok.html" />
<input type="hidden" name="Blat_Mime" value="Y" />
<table id="contact-table">
<tr><td class="contact-td">Nom :  </td><td class="contact-td">  <input type="text" name="NOM" size="42" value="" /></td></tr>
<tr><td class="contact-td">Prénom :  </td><td class="contact-td">  <input type="text" name="NOM" size="42" value="" /></td></tr>
<tr><td class="contact-td">E-mail :  </td><td class="contact-td">  <input type="text" name="EMAIL" size="42" value="" /></td></tr>
<tr><td class="contact-td">Message :  </td><td class="contact-td">  <textarea rows="18" cols="32" name="COMMENTAIRES"></textarea></td></tr>
<tr><td class="contact-td">   </td><td class="contact-td">   <input type="submit" id="butn_1" value="Envoyer" />  </td></tr>
</table>	
</div>
</form>

Modifié par pika28 (17 Sep 2009 - 11:22)