Problème de validation avec Javascript

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
EmmaZL
Lézard à collerette
Messages : 245
Inscription : 07 août 2004, 00:43

Problème de validation avec Javascript

Message par EmmaZL »

Bonjour et bonne année ! :wink:

J'ai ce code javascript dans une de mes pages ( http://www.barf.ch/eleveurs.htm ) :

Code : Tout sélectionner

function PrintCombo() {
	var Z="<SELECT name='acces' size=1> ";
	Z+="<OPTION value='-1'>"+this.titre+"</OPTION>";
	for (var i=0;i<this.nb;i++) {
		Z+="<OPTION value="+i+">"+this[i].libelle+"</OPTION>";
	}
	Z+="</SELECT>";
	for (var i=0;i<this.nbBouton;i++) {
		Z+="&nbsp;<br><br><INPUT Type='button' value='"+this.bouton[i]+"' onclick='GoAcces(this.form,"+i+")'>&nbsp;";
	}
	document.write(Z);
}
La validateur du W3C ne l'accepte pas à cause des balises <option> et <select>

J'ai 3 erreurs en tout :

2 fois : end tag for element "OPTION" which is not open.
1 fois : end tag for element "SELECT" which is not open.

Y a-t-il un moyen de valider la page quand même ? Image

Merci d'avance.

Emma.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.8) Gecko/20061025 Firefox/1.5.0.8
Dernière modification par EmmaZL le 03 janv. 2007, 23:53, modifié 2 fois.
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème. (devise Shadok)
Ma configuration
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Alors oui il y a moyen, c'est en faisant comme dans les autres balises script de la page, ajouter

Code : Tout sélectionner

//<!--
au début et

Code : Tout sélectionner

//-->
à la fin du bloc de script, ce qui rendra le script invisible à l'analyseur HTML qui ne verra plus qu'un commentaire.

Cependant je ne vois pas vraiment de raison d'utiliser du JavaScript ici, pourquoi ne pas mettre directement le contenu du select ?

Voici le code HTML généré selon Firebug, qui est à mon avis nettement plus simple et lisible que cette fonction :

Code : Tout sélectionner

<select size="1" name="acces">
 <option value="-1">Choisir un pays</option>
 <option value="0">Suisse</option>
 <option value="1">France</option>
 <option value="2">Belgique</option>
 <option value="3">Canada</option>
</select>
Je crois que beaucoup de choses pourraient être améliorées dans cette page, comme la présence de trois tableaux imbriqués, mais se débarrasser du document.write, ce qui n'est pas propre du tout, serait un bon premier pas :)
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
EmmaZL
Lézard à collerette
Messages : 245
Inscription : 07 août 2004, 00:43

Message par EmmaZL »

Merci benoît pour les conseils... :wink:

J'ai essayé de faire ce que tu as dit, mais la page n'est toujours pas valide. :cry:

Je vais essayer d'enlever les tableaux... et mettre des div à la place.

PS : c'est quoi Firebug ?

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9
S'il n'y a pas de solution, c'est qu'il n'y a pas de problème. (devise Shadok)
Ma configuration
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Firebug c'est une extension pour Firefox. À avoir absolument si tu fais du javascript.
Je suis d'accord avec Benoit, du javascript pour faire des document.write, c'est rarement utile, et dans ce cas un codage en HTML serait à la fois plus lisible (pour toi) et plus accessible. Le javascript n'apporte rien.

Attention également à l'attribut language de script qui n'est pas autorisé je crois.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.9) Gecko/20061206 Firefox/1.5.0.9
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités