Pb de compatibilité avec Ie et javascript :s
Bonjour, mon probleme est que je fais apparaitre un champ select au changement d'un autre select et que sous firefox cela fonctionne bien alors que sous Ie le champ apparait bien mais reste vide une idée ? en attendant voici le code :
//javascript
function sel()
{
if (document.liste.ListeUrl.selectedIndex == 0)
{
document.getElementById("sel2").style.visibility = "hidden";
}
if (document.liste.ListeUrl.selectedIndex == 1)
{
var es = '<option value="planche">Planches</option><option value="trucks">Trucks</option><option value="roues">Roues</option><option value="planche">Planches</option><option value="planche">Planches</option><option value="planche">Planches</option><option value="planche">Planches</option>';
document.getElementById("sel2").innerHTML = es;
document.getElementById("sel2").style.visibility = "visible";
}
if (document.liste.ListeUrl.selectedIndex == 2)
{
var ss = '<option value="planche">Planchesb</option><option value="trucks">Trucks</option><option value="roues">Roues</option><option value="planche">Planches</option><option value="planche">Planches</option><option value="planche">Planches</option><option value="planche">Planches</option>';
document.getElementById("sel2").style.visibility = "visible";
document.getElementById("sel2").innerHTML = ss;
}
}
//html
<FORM style="margin:0; padding:0;" action="index.php?page=action" method="post" name="liste" id="liste">
<SELECT NAME="ListeUrl" id="listed" SIZE=1 onChange="sel()" style="width:220px; background-color: #fff; color: #000; font-family:arial; font-weight:bold;">
<option value="0">Votre choix</option>
<option value="skate-board">Skate-Board</option>
<option value="snake-board">Snake-Board</option>
<option value="snow-board">Snow-Board</option>
<option value="roller">Roller</option>
<option value="trotinette">Trotinette</option>
<option value="vetement">Vêtements</option>
<option value="accessoire">Accessoires</option>
</SELECT>
<SELECT id="sel2" style="visibility:hidden;width:220px; background-color: #fff; color: #000; font-family:arial; font-weight:bold;">
</SELECT>
</FORM>
merci d'avance pour vos reponses
//javascript
function sel()
{
if (document.liste.ListeUrl.selectedIndex == 0)
{
document.getElementById("sel2").style.visibility = "hidden";
}
if (document.liste.ListeUrl.selectedIndex == 1)
{
var es = '<option value="planche">Planches</option><option value="trucks">Trucks</option><option value="roues">Roues</option><option value="planche">Planches</option><option value="planche">Planches</option><option value="planche">Planches</option><option value="planche">Planches</option>';
document.getElementById("sel2").innerHTML = es;
document.getElementById("sel2").style.visibility = "visible";
}
if (document.liste.ListeUrl.selectedIndex == 2)
{
var ss = '<option value="planche">Planchesb</option><option value="trucks">Trucks</option><option value="roues">Roues</option><option value="planche">Planches</option><option value="planche">Planches</option><option value="planche">Planches</option><option value="planche">Planches</option>';
document.getElementById("sel2").style.visibility = "visible";
document.getElementById("sel2").innerHTML = ss;
}
}
//html
<FORM style="margin:0; padding:0;" action="index.php?page=action" method="post" name="liste" id="liste">
<SELECT NAME="ListeUrl" id="listed" SIZE=1 onChange="sel()" style="width:220px; background-color: #fff; color: #000; font-family:arial; font-weight:bold;">
<option value="0">Votre choix</option>
<option value="skate-board">Skate-Board</option>
<option value="snake-board">Snake-Board</option>
<option value="snow-board">Snow-Board</option>
<option value="roller">Roller</option>
<option value="trotinette">Trotinette</option>
<option value="vetement">Vêtements</option>
<option value="accessoire">Accessoires</option>
</SELECT>
<SELECT id="sel2" style="visibility:hidden;width:220px; background-color: #fff; color: #000; font-family:arial; font-weight:bold;">
</SELECT>
</FORM>
merci d'avance pour vos reponses
3 réponses
-
Bonjour,
Sous Ie on ne peut pas utiliser un innerHTML sur une balise select -
Oui il y a un autre moyen du genre :
var objtselect = document.forms.monform.monselect; var dmc = document.createElement("option"); dmc.text = "Nouvelle" ; dmc.value = "Nouvelle"; objtselect.add(dmc);
En gros ça doit etre ça.-
-
@StresSlol ca ne marche plus nul part maintenant- :D
j'ai fais ca :
var essai = document.forms.liste.ListeUrl;
var dmc = document.createElement("option");
dmc.text = "Planches" ;
dmc.value = "planche";
essai.add(dmc);
-
-
Salut,
je viens d'essayer ça a l'air de marcher comme ça :
var es = document.getElementById("sel2"); var dmc = document.createElement("option"); dmc.text = "Nouvelle" ; dmc.value = "Nouvelle"; if(!document.all){ before= es.options[1]; }else{ before=1; } es.add(dmc,before); }-
-
@StresSah si cela fonctionne desoler j avai pas refermer mon accolade par contre encore une chose pour en rajouter plusieurs je recree des variables que je rajoute comme ceci ou pas :
dmc2.text = "Planches" ;
dmc2.value = "planches";
es.add(dmc,dmc2,before);
en tous cas merci du temps que tu as pris pour m'expliquer -
@StresSj'ai reussi en faisant :
es.add(dmc,before);
es.add(dmc2,before);
ca peut etre optimisé ou pas ?
-