Rechercher : dans
Par :

[Javascript]Appel de fonction avec onChange

Thomas, le 11 sep 2008 à 13:15:03 
 Signaler ce message aux modérateurs

Bonjour à tous,

J'ai un soucis avec des champs select dynamiques sous IE (6 ou 7).
Le principe est simple à chaque fois que l'utilisateur choisi une valeur dans une liste déroulante, on cree une nouvelle liste, on l'affiche et ainsi de suite (cela permet de parcourir une arborescence).
Les valeurs des options de chaque select sont recuperees par un appel Ajax, transmises au format JSON puis traitées et transformées en elements option du nouveau champ select.

La fonction en question :

function showPath(level) {
    // On ne fait rien s'il n'y a pas au moins 2 options a creer
    if(datapath['chemins'].length > 1) {

        var select = document.createElement("select");
        document.getElementById('path-form').appendChild(select);
        levelup = level + 1;
        newid = 'level-'+levelup;
        
        select.id = newid;
        eval('select.setAttribute("onchange","javascript:browsebypath('+(levelup)+');")');
    
        for(i = 0; i < datapath['chemins'].length; i++) {
            label = datapath['chemins'][i].label;
            id = datapath['chemins'][i].id;
            var opt = new Option(label,id,false);
            opt.innerHTML = label;
            select.appendChild(opt);
        }
    }
    document.getElementById("loading").className="hidden";
}


Le probleme se pose donc avec Internet Explorer, la première liste est présente au chargement de la page donc pas de probleme l'appel du onChange se passe bien et le 2eme select s'affiche (son attribut onChange contient bien l'appel à la fonction à executer) mais rien ne se produit.

Quelqu'un a une idée ?
Configuration: Windows XP
Firefox 3.0.1

Meilleures réponses pour « [Javascript]Appel de fonction avec onChange » dans :
Javascript - Les fonctions Voir La notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Cette notion de sous-programme est généralement appelée fonction...
Interfacer du code assembleur et du C VoirInterfacer du code assembleur et du C Introduction Appeler du code assembleur écrit dans un fichier source externe Avec Nasm (x86 uniquement) Compilation/Exécution sous Linux Avec Gcc (multiplateforme) Introduction Si, à tout hasard,...
PHP - Les fonctions VoirLa notion de fonction On appelle fonction un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la fonction dans le corps du programme principal. Les fonctions permettent d'exécuter dans plusieurs parties du...
Perl - Les fonctions VoirLa notion de fonction et de procédure On appelle procédure un sous-programme qui permet d'effectuer un ensemble d'instruction par simple appel de la procédure dans le corps du programme principal. Les procédure permettent d'exécuter dans plusieurs...
Javascript - Les événements VoirQu'appelle-t-on un événement? Les événements sont des actions de l'utilisateur, qui vont pouvoir donner lieu à une interactivité. L'événement par excellence est le clic de souris, car c'est le seul que le HTML gère. Grâce au Javascript il est...