Bonjour à tous !
j'ai un petit soucis d'intégration de code javascript au sein de ma page. Non pas que celà ne fonctionne pas, bien au contraire, mais plutôt du fait que notre bon vieux validateur du W3C ne me pardonne pas certaines largesses.
Pour vous expliquer clairement la chose, je dois vous dire que j'utilise deux listes déroulantes, le contenu de la seconde étant directement lié au contenu de la première.
Voici mon code :
Je ne retranscris ici que le code de la première liste déroulante, car la syntaxe de la seconde est quasi identique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <select name="id_agence" onchange='javascript:change_liste(this.name, this.value)' id="id_agence"> <script type="text/javascript"> var val=""; for (i=0; i<agence.length; i++){ s=""; if(val==agence[i][0]) s=" selected"; document.write("<option value=\"" +agence[i][0]+ "\""+s+">" +agence[i][1]+"</option>"); } </script> </select>
Pour info, les contenus des 2 listes sont gérés dans des tableaux dans une balise script contenu dans le <head>.
j'ai cru lire qu'il fallait encapsuler mes scripts dans des balises <![CDATA[ et ]]> mais le résultat n'a pas franchement été meilleur.
Autre info, je n'ai pas spécifié de ligne en rapport avec le xml près de mon doctype... j'ai donc :
Enfin, et pour finir, voilà quelques erreurs que le validateur m'affiche :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> ...
Voilà, je pense avoir résumé au mieux mon problème. En esperant l'aide d'une âme charitable, je vous souhaite à tous une excellente fin d'après-midi.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18Error Line 66 column 37: document type does not allow element "script" here. <script type="text/javascript"> Error Line 68 column 33: character ";" not allowed in attribute specification list. for (i=0; i<agence.length; i++){ Error Line 68 column 33: element "agence.length" undefined. for (i=0; i<agence.length; i++){ Error Line 73 column 39: an attribute value must be a literal unless it contains only name characters. document.write("<option value=\"" +agence[i][0]+ "\""+s+">" +agence[i][ ...............
Jérôme
Partager