Probleme avec balise <SELECT> sur FIREFOX

WRInaute discret
Bonjour à tous,

Sous FireFox se produit un phénomène trés bizare avec une de mes balise <OPTION> dans un <SELECT>. Une fois n'est pas coutme, tout se passe bien sous IE. Sous FIREFOX le SELECT n'est pas cliquable! En fait il faut se placer sur le coin en haut à droite du SELECT pour dérouler son contenu!... Dans le code ci-dessous j'ai pu identifier que le problème se situait au niveau de ""<OPTION value='$IDCALEND'" avec $IDCALEND défini plus haut dans mon code. Si je remplace $IDCALEND par 'toto' par exemple tout fonctionne bien sous FIREFOX... QQ a t-il deja eu ce pb ?
Merci pour votre aide.
Voici le code PHP incriminé:

if($numrows!=0)
{
echo "<SELECT id=SelCalendrier class=font_style_3 onchange='gestionClic(); return false;'>";
$i=1;
while($i<=$numrows)
{
$TabCalendrier = mysql_fetch_row($req);
$IDCALEND=$TabCalendrier[0];
echo "<OPTION value='$IDCALEND'>Calendrier N°$i</OPTION>";
$i++;
}
echo "</SELECT>";
 
Nouveau WRInaute
Ca serait possible d'avoir le HTML généré ?
Car là à part des guillemets mais qui ne change rien, je ne vois rien de spécial.
 
WRInaute impliqué
Moi j'ai toujours mis des guillemets double dans les valeurs de mes atributs html

<OPTION value="value">truc....

mais bon ca doit etre une question de gout

....
 
WRInaute accro
klendrier a dit:
Dans le code ci-dessous j'ai pu identifier que le problème se situait au niveau de ""<OPTION value='$IDCALEND'" avec $IDCALEND défini plus haut dans mon code. Si je remplace $IDCALEND par 'toto' par exemple tout fonctionne bien sous FIREFOX...

Si tu nous disais sa valeur en temps normal ça pourrait aider. Elle ne contiendrait pas un ' par hasard?

Sinon je te conseille de passer ta page au validateur W3C, tu vas avoir des surprises (et probablement la réponse à ton problème).

Jacques.
 
WRInaute passionné
Pour être valide W3C et donc être visible sur tous les navigateurs, il vaut mieux mettre ton code sous cette forme (Les majuscules pour les balises HTML sont à proscrire et l'emploi des guillemets pour les valeurs est plus que conseillé) :
Code:
if($numrows!=0)
{
	echo "<select id=\"SelCalendrier\" class=\"font_style_3\" onchange=\"gestionClic(); return false;\">";
	$i=1;
	while($i<=$numrows)
	{
		$TabCalendrier = mysql_fetch_row($req);
		$IDCALEND=$TabCalendrier[0];
		echo "<option value=\"$IDCALEND\">Calendrier N°$i</option>";
		$i++;
	}
	echo "</select>";
}
 
Nouveau WRInaute
Bonjour,
je suis d'accord avec les commentaires précédent qui te recommandent de mettre des guillemets dans les attributs de balises HTML.
2ndo d'accord aussi sur le fait que la variable $IDCALEND si elle comporte un ' peut aussi être la cause du bug, puisque tu as dit qu'avec toto ça fonctionnait.
tercio que fait cette fonction javascript gestionClic() ?
 
Discussions similaires
Haut