[HTML Validator] Fonction javascript

Mammouth du PHP | 965 Messages

27 mars 2008, 16:55

Bonjour,

Pour valider le site que je construit en W3C il me faut passer par le validator qui me retourne cette erreur :

Image

Pourtant c'est la manière dont est décrite la fonction d'incrément pour javascript, le code :

Code : Tout sélectionner

function selectionnerTout(formulaire){ //récupération de toutes elements input lesInputs = document.getElementsByName('list[]'); for(i = 0; i < lesInputs.length; i++) { switch(document.getElementById("tousaucun").checked) { case true: //on met la valeur de la case égale à celle de la case "tout cocher/décocher" lesInputs[i].checked=true; document.getElementById("Check-Unchecked").value = "Tout déselectionner"; break; case false: lesInputs[i].checked=false; document.getElementById("Chec-Unchecked").value = "Tout sélectionner"; break; } } }
Une idée ?

ViPHP
ViPHP | 4039 Messages

27 mars 2008, 17:26

on dirais que le validateur essaye de lire ton code JS.. faut l'en empêcher (en mettant des <!-- et --> autour du code, un truc comme ça, je sais plus).


Sinon, déclare la variable I avant ton for (var i="") (ou à l'intérieur du for: for (var i=0;etc..)), sinon il sera global (une particularite JS :? )
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Eléphant du PHP | 445 Messages

27 mars 2008, 17:45

on dirais que le validateur essaye de lire ton code JS.. faut l'en empêcher (en mettant des <!-- et --> autour du code, un truc comme ça, je sais plus).
C'est exactement cela.
<script type="text/Javascript">
<!--

CODE JS

-->
</script>
Pour éviter cela, tu peux aussi créer un fichier JS et l'inclure dans ta page.
<script type="text/javascript" src="monScript.js"></script>

Mammouth du PHP | 965 Messages

27 mars 2008, 17:51

merci j'ai en effet mis le code dans un fichier externe, c'est la seul solution que j'ai trouver.

Je met Résolu.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

27 mars 2008, 18:50

Ce n'est pas la seule solution.

Berzemus et h0_noMan t'en ont également proposé une autre consistant simplement à glisser les balises de commentaire html. Ces commentaires permett(ai)ent par ailleurs aux navigateurs qui ne savent pas interpréter les balises <script> (bon ça remonte peut être à IE et Netscape 2) de ne pas afficher le code à l'écran.

Les "<" et les "&&" qu'il contient sont alors ignorés par le valideur qui ne les considérera pas respectivement comme des ouvertures de balises ou des entités mal définies.

A priori ça change pas grand chose, mais j'ai pris l'habitude de toujours coller un // sur la balise de fermeture pour éviter que JS ne s'en préoccupe...
<script type="text/Javascript"> 
<!-- 
CODE JS 
//--> 
</script>
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Mammouth du PHP | 965 Messages

27 mars 2008, 19:18

Oui Ryle mais il y'avait des fonctions que je pouvais mettre sur fichier externe et d'autre que je ne pouvais pas donc j'ai utiliser les 2 solutions.

Par contre pour les balises fermantes comme tu les utilise je n'ai jamais eut de problème a les utiliser sans les //.