bonjour (mon clavier et en norvegien, desole ) , J ai u probleme avec mon code , il marche parfaitment avec safari, chrome,IE mais pas avec firefox et opera ainsi aue seamonmkey...bref C'est un code tres simple qui qui re-ecrit les option d'une SELECT list/menu et l'affiche quand la precedente change, tout marche bien... sauf il ne re-ecrit pas les options des listes avec firefox, par contre il les affiche vide.
voici tout le code sans le Body, et j'ai mit en evidence le probleme. merci de m'aider.
<script language="javascript">
//(arrays are empty for space)
var sub_cat_array = new Array(); //1st array for 2nd list
var sub_cat_array2 = new Array(); //2nd array for 3rd list
window.onload=function(){
document.getElementById("hidden_elements").style.display="none";
document.getElementById("hidden_elements2").style.display="none";
document.getElementById("markedslist").onchange=selcted;
document.getElementById("subcat1").onchange=selcted2;
}
function selcted(){ document.getElementById("hidden_elements").style.display="none";
document.getElementById("hidden_elements2").style.display="none";
if(document.getElementById("markedslist").value !="all"){
document.getElementById("hidden_elements").style.display="block";
}else{
document.getElementById("hidden_elements").style.display="none";
document.getElementById("hidden_elements2").style.display="none";
}
var markedslist=this.value;
var sub_cat=document.getElementById("subcat1");
sub_cat.options.length=0;
//PROBLEME COMMENCE ICI
for(var i=0;i< sub_cat_array.length; i++){
var st = sub_cat_array[i][0];
if(st==markedslist){
var opt = new Option(sub_cat_array[i][1]);;
opt.value=sub_cat_array[i][2];
try{
sub_cat.add(opt,opt.value);
}catch(e){
sub_cat.add(opt);
}
}
}
}
// ET FINIT ICI c'estla meme pour la function selcted2 precedent -->
function selcted2(){
if(document.getElementById("subcat1").value != "all"){
document.getElementById("hidden_elements2").style.display="block";
}else{ document.getElementById("hidden_elements2").style.display="none";
}
var subcat1=this.value;
var sub_cat2=document.getElementById("subcat2");
sub_cat2.options.length=0;
for(var i=0;i< sub_cat_array2.length; i++){
var st2 = sub_cat_array2[i][0];
if(st2==subcat1){
var opt2 = new Option(sub_cat_array2[i][1]);
opt2.value=sub_cat_array2[i][2];
try{
sub_cat2.add(opt2,opt2.value);
}catch(e){
sub_cat2.add(opt2);
}
}
}
}
</script>
PS: je peut mettre le code du body mais je ne pense pas que ce soit nessescaire...