Bonjour à tous
Voilà je viens à vous aujourd'hui parce que je prend un soin particulier à ce que mes pages respectent le standard W3C XHTML 1.0 Transitional, et débutant en JavaScript, je me rend compte qu'un script que je crée ne passe pas cette validation.
Le but de ce bout de code est d'afficher une combo (<select>) de sélection de page si JavaScript est activé, et d'afficher en texte la page actuelle en cas de JavaScript désactivé, sachant qu'il y a un autre moyen de naviguer dans le script complet.
Ce script fonctionne sur IE 5.5+ - Firefox 3.0 (testé que celui là). En essayant de le valider sur W3C, je me retrouve avec ceci:
Line 15, Column 152: document type does not allow element "select" here.
…d=&darQ_nb=\'+this.selectedIndex"><option>1</option><option>2</option><op...
Cependant, si je remplace le contenu du <span id="darQ_tableau_page"> par un <select> et désactiver le script, la page devient valide. J'en conclu donc que c'est le innerHTML qui me cause un soucis. Je m'en remet à vous pour m'aider à trouver une solution à mon problème.
Merci par avance.
Modifié par D@rkSn@ke (03 Jul 2008 - 14:54)
Voilà je viens à vous aujourd'hui parce que je prend un soin particulier à ce que mes pages respectent le standard W3C XHTML 1.0 Transitional, et débutant en JavaScript, je me rend compte qu'un script que je crée ne passe pas cette validation.
Le but de ce bout de code est d'afficher une combo (<select>) de sélection de page si JavaScript est activé, et d'afficher en texte la page actuelle en cas de JavaScript désactivé, sachant qu'il y a un autre moyen de naviguer dans le script complet.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>test</title>
</head>
<body>
<?php
echo "Contenu de la page ".($_GET['darQ_nb'] + 1)."
<br />
<br />
Page
<span id=\"darQ_tableau_page\">".($_GET['darQ_nb'] + 1)."</span>";
$darQ_tableau_page_select = "<select onchange=\"document.location.href='?darQ_ord={$_GET['darQ_ord']}&darQ_nb='+this.selectedIndex\">";
for ($i=1;$i<=35;$i++)
{
$selected = "";
if (($i - 1) == $_GET["darQ_nb"])
{
$selected = " selected=\"selected\"";
}
$darQ_tableau_page_select .= "<option{$selected}>{$i}</option>";
}
$darQ_tableau_page_select .= "</select>";
echo "
<script type=\"text/javascript\">
document.getElementById('darQ_tableau_page').innerHTML = '".str_replace("'","\'",$darQ_tableau_page_select)."';
</script>
sur 35";
?>
</body>
</html>
Ce script fonctionne sur IE 5.5+ - Firefox 3.0 (testé que celui là). En essayant de le valider sur W3C, je me retrouve avec ceci:
Line 15, Column 152: document type does not allow element "select" here.
…d=&darQ_nb=\'+this.selectedIndex"><option>1</option><option>2</option><op...
Cependant, si je remplace le contenu du <span id="darQ_tableau_page"> par un <select> et désactiver le script, la page devient valide. J'en conclu donc que c'est le innerHTML qui me cause un soucis. Je m'en remet à vous pour m'aider à trouver une solution à mon problème.
Merci par avance.
Modifié par D@rkSn@ke (03 Jul 2008 - 14:54)