Bonjour,
Voici ci-dessous une partie d'une fonction javascript d'un site dynamique fonctionnant sous firefox.
Une chaine est transmise à la fonction, chaque ligne de la chaine se termine par \n et chaque ligne est composée de 4 strings séparées par des ; (fichier csv).
Je veut créer un select avec comme options les premiers éléments de chaque ligne. Ça, c'est bon.
Je veut déclencher une fonction afficher_select(a,b) au passage de la souris sur les options du select (afficher une photo et un commentaire d'aide) et en déclencher une autre (mem_select(a,b)) quand on clique sur une des options.
Je peux appeler cette fonction avec plus de 15 fichiers csv, chaque fichier peut comporter plusieurs centaines de lignes, il est donc impératif d'automatiser tout cela.
Pas de pb avec firefox. Avec ie8, la liste de sélection est bien créé, mais il ne se passe rien au passage de la souris ou au click. J'ai essayé la partie en commentaire (setAttribute.onmouseove...), mais au premier passage de la boucle for, on exécute la fonction afficher_select(0,sc), et c'est terminé). Avec opera10, le click fonctionne mais pas onmouseover, mais je n'ai pas vraiment chercher avec opera.
Que de temps perdu avec ces navigateurs ne respectant rien !
Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 if(val!="flo") ligne.sort(); l=document.getElementById("liste_selection"); if(l.childNodes.length>0){ l.removeChild(l.lastChild); document.getElementById("liste_selection").innerHTML=""; } sel=document.createElement("select"); alert("nb lignes= "+ligne.length) for(i=0;i<ligne.length;i++){ cara=ligne[i].split(';') cara1[i]=cara[0] cara2[i]=cara[1] cara3[i]=cara[2] cara4[i]=cara[3] var k = document.createElement('option'); k.setAttribute("value", i); // if(document.all){ // essai pour ie // k.setAttribute.onmouseover=afficher_select(i,sc); // k.setAttribute.onclick={mem_select(i,sc); // }else{ // pour firefox qui fonctionne eval("k.setAttribute('onMouseOver','afficher_select(\""+i+"\",\""+sc+"\")')"); eval("k.setAttribute('onClick','mem_select(\""+i+"\",\""+sc+"\")')"); // } t=document.createTextNode(cara1[i]) k.appendChild(t); sel.appendChild(k); } l.appendChild(sel);
Partager