5568 sujets

Sémantique web et HTML

Bonjour Smiley smile

J'ai voulu faire valider ma page html, mais le validateur du W3C n'aime pas le javascript qu'il y a dans ma page...

Exemple :
      function valide( idBillet )
      {
        var confirmation1 = confirm( "Voulez vous vraiment supprimer ce post ?") ;
	if( confirmation1 )
	{
	  document.location.href = "adnews.php?action=suppr&idBillet=" + idBillet;
	}
      }


Ca donne comme erreur :

1# Warning Line 126 column 53: cannot generate system identifier for general entity "idBillet".

document.location.href = "adnews.php?action=suppr&idBillet=" + idBillet;

2#Error Line 126 column 53: general entity "idBillet" not defined and no default entity.

document.location.href = "adnews.php?action=suppr&idBillet=" + idBillet;

3#Warning Line 126 column 61: reference not terminated by REFC delimiter.

...cument.location.href = "adnews.php?action=suppr&idBillet=" + idBillet;

4#Error Line 126 column 61: reference to entity "idBillet" for which no system identifier could be generated.

...cument.location.href = "adnews.php?action=suppr&idBillet=" + idBillet;

etc....

Vous avez une idée du probleme ?
Modifié par xitag (11 Nov 2006 - 05:00)
Bonjour.

C'est classique, c'est le signe "&" qui chatouille en suggérant la définition d'une entité.

Généralement, en remplaçant "&" par "&" le problème doit se résoudre.

En effet, le caractère & précédant le nom de variable suggère au validateur qu'il s'agit d'une entité (&idBillet=" + idBillet;) dont il ne trouve pas correspondance.
Modifié par GeorgesM (11 Nov 2006 - 06:38)
Pour le javascript, le meilleur moyen de palier à ce problème est de mettre le script entre en section CDATA

Ex :

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

// ]]>
</script>
Oui, dans les sections <script ...> et </script>, (d'ailleur ce qui nous occupe). Mais le problème peut aussi se présenter dans les propriétés d'évennements :


<div onclick="window.location.href=prog.php?page=une_page[b]&amp;[/b]section=une_section">
....
</div>

Modifié par GeorgesM (11 Nov 2006 - 07:09)
Raphael a écrit :
Et hop, la FAQ : http://forum.alsacreations.com/faq/#item26 Smiley cligne


oui j'ai essaié de mettre un &amp; dans l'adresse du script mais le lien ne fonctionne plus ensuite Smiley ohwell .

Par contre j'avais déja remplacer les & par des &amp; dans les liens en dehors de la zone javascript et la ca fonctionne parfaitement Smiley smile

je vais tester le CDATA Smiley smile


Edit : L'astuce du CDATA marche parfaitement !

Merci encore ! Smiley lol
Modifié par xitag (11 Nov 2006 - 11:40)