5568 sujets

Sémantique web et HTML

Bonjour,

Je n'arrive pas à rendre valide au W3C une page contenant du javascript.

Mon doctype:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >


Quand j'insère mon javascript comme ceci:

<script type='text/javascript'>
	............
</script>


Mon script fonctionne sur mon site, mais ma page n'est pas valide au W3C.

a écrit :

Line 1, Column 0: no document type declaration; will parse without validation.

<script type='text/javascript'>

The document type could not be determined, because the document had no correct DOCTYPE declaration. The document does not look like HTML, therefore automatic fallback could not be performed, and the document was only checked against basic markup syntax.

Learn how to add a doctype to your document from our FAQ, or use the validator's Document Type option to validate your document against a specific Document Type.

Line 9, Column 48: character ")" not allowed in attribute specification list.

…nt(t.value.length)<nb_caracteres_mini)||(parseInt(t.value.length)>nb_caracter

Line 18, Column 2: "DOCTYPE" declaration not allowed in instance.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/x

Line 19, Column 57: document type does not allow element "HTML" here.

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >

&#9993;

The element named above was found in a context where it is not allowed. This could mean that you have incorrectly nested elements -- such as a "style" element in the "body" section instead of inside "head" -- or two elements that overlap (which is not allowed).

One common cause for this error is the use of XHTML syntax in HTML documents. Due to HTML's rules of implicitly closed elements, this error can create cascading effects. For instance, using XHTML's "self-closing" tags for "meta" and "link" in the "head" section of a HTML document may cause the parser to infer the end of the "head" section and the beginning of the "body" section (where "link" and "meta" are not allowed; hence the reported error).



et si je fais:


<!-- Début du script 
<script type='text/javascript'>
	............
</script>//Fin du script -->


Mon script ne fonctionne plus sur mon site, mais ma page est valide au W3C.

Voyez vous le problème ?

Merci d'avance.

PS: Comment marche la balise couleur, dans la rédaction d'un message.
Modifié par yann123 (04 Mar 2009 - 11:40)
Gné? Smiley biggol Tu n'essayerais pas par hasard d'insérer un doctype et un élément <html> en javascript? Smiley sweatdrop

Les validateurs ne comprennent pas le javascript, de plus ces éléments sont obligatoires et doivent être «en dur» dans la page (dans le cas du doctype : première ligne, premier caractère du fichier html).
non,

Mon script sert a compter le nombre de caractéres lorsque l'internaute rempli les champs d'un formulaire.

le script est seul sur une page.

Je l'insére en début de page avec un include en php.

et ensuite j'appelle ma fonction qu'en j'en ai besoin au niveau de mes champs de formulaire.

Rien de particulier, du moins je pense.
Alors pourquoi le validateur te dit que tu as un doctype en ligne 18 et un élement <html> en 19? Tu ne jouerais pas avec les includes?
Modifié par Patidou (03 Mar 2009 - 23:36)
Bonjour et merci de tes réponses.

Cela devait venir du fait que j'insérais ma fonction javascript avant de déclarer mon doctype.

J'insère maintenant ma fonction entre les balises head et il n'y a plus ce message.

Par contre j'avais six autres messages d'erreur, j'en ai corrigé cinq en faisant:


//<![CDATA[
<script type='text/javascript'>
	................
</script> //]]>


Voila, il me reste plus qu'une erreur W3C
a écrit :

Line 14, Column 4: character data is not allowed here.

//<![CDATA[


You have used character data somewhere it is not permitted to appear. Mistakes that can cause this error include:

* putting text directly in the body of the document without wrapping it in a container element (such as a <p>aragraph</p>), or
* forgetting to quote an attribute value (where characters such as "%" and "/" are common, but cannot appear without surrounding quotes), or
* using XHTML-style self-closing tags (such as <meta ... />) in HTML 4.01 or earlier. To fix, remove the extra slash ('/') character. For more information about the reasons for this, see Empty elements in SGML, HTML, XML, and XHTML.


La je ne vois pas la parade.
Ah non là c'est n'importe quoi... Smiley cligne Le code correct c'est :

<script type="text/javascript">
//<![CDATA[

//plein de code javascript...

//]]>
</script>


Fais attention, j'ai l'impression que tu récupère des bouts de code d'un peu partout et que tu assembles le tout au petit bonheur la chance. Perso je réviserais mes bases... Smiley cligne
Modifié par Patidou (04 Mar 2009 - 11:05)
Merci, ça marche nickel.

Effectivement, je ne connais pas grand chose au javascript. C'est d'ailleurs le seul script que j'utilise sur mes sites, mais qui est quand même bien pratique.

J'ai donc fait des recherches sur le net en fonctions des erreurs que me retourne le W3C et essayé d'appliquer ce que j'ai trouvé sur différents forum.

Faudrait que je prenne le temps de voir les bases de ce language Smiley cligne

Merci encore.