bon j’ai un petit problème. Sous IE, ceci fonctionne très bien:
for(var iCnt=0; iCnt<pCities["France"].length; iCnt++)
{
var oOption = document.createElement("OPTION");
oOption.text = pCities["France"][iCnt];
oOption.value = pCities["France"][iCnt];
document.getElementById(cityId).options.add(oOption); // << ca ne marche pas sur Firefosque.
}
Donc j’ai bien vérifié, c’est que du DOM partout, donc je suis étonné que sur firefox cette ligne ne marche pas. Après moultes tests, j’ai remarqué que:
Ceci fonctionne sur Firefox, mais n’ajoute qu’un élément (j’en ai une 15aine pour la France.
J’ai demandé a mon ami MSDN (qui combiné a mon cerveau m’a suggéré le code tout en haut), a mon ami google qui est resté muet, et a mon ami web-developer sur mozilla.org (dont la doc est totalement inexistante).
Je ramasse les copies demain matin (en gros je dois livrer ca demain :P).
“OPTION” est le type d’élément a créér, “oOption” est l’objet du type “OPTION”, .options est la collection d’options attachée a un SELECT.
Entre temps j’ai trouvé la solution: Le problème venait effectivement du fait que sous firefox, la fonction add est une méthode de SELECT et non de la collection OPTION (ma logique dicterait le contraire). Il ne me rajoutais qu’une option car sous FFox, il faut un second paramètre pour lui dire a quel index ajouter l’OPTION (ce qui fait que mon option était toujours écrasée, vu que j’omettais le second paramètre position).
Ca n’est pas « sous firefox », c’est « sous n’importe quel navigateur respectant DOM ».
Pour ce genre de truc faut plutot aller voir la documentation de reference (sur le site du w3c) plutot que la msdn
(oui je sais, w3c, recommandation bla bla pas standard bla bla)