Bonsoir,
J'ai un soucis : j'ai un code .js qui fonctionne parfaitement avec FF alors qu'avec IE il bug carrément.
Voici la situation :
Je génère (avec un script php) des lignes qui représentent mes inscriptions en attentes. Sur chaque ligne, on trouve une checkbox, le nom/prénom et un select avec le statut de l'utilisateur. Lorsque que l'on sélectionne un utilisateur (on check la checkbox) et que l'on valide avec le bouton "valider les inscriptions", un script js récupére l'id (qui correspond à l'utilisateur sélectionné), la valeur du select et l'envoi en AJAX à un script de traitement.
Pour réussir cette opération, je procède comme suit :
- à chaque click sur une checkbox, je récupère l'id de l'utilisateur sélectionné et true/false selon l'état de la checkbox que je stocke dans un tableau global (indice->id,valeur->true/false);
- à la validation, je fais une boucle sur la tableau et sur chaque itération qui est à true, je récupère l'indice (qui correspond à l'id de l'utilisateur) et je fais un getElementById pour récupérer la value du select correspondant à l'utilisateur.
Avec FF, ça fonctionne et avec IE il n'arrive pas à trouver l'éléments correspondant (getElementById).
Fragments de code php :Fragments de code js :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $statut = " <select name=\"statut\" id=\"".$données['id_util']."\" size=\"1\"> <option value=\"stagiaire\" ".$statuta.">stagiaire</option> <option value=\"etudiant\" ".$statutb.">étudiant</option> <option value=\"enseignant\" ".$statutc.">enseignant</option> </select> "; echo "<input type=\"checkbox\" name=\"".$données['id_util']."\" value=\"".$données['id_util']."\" onclick=\"cochage(this.name,this.checked)\"> ".$données['prenom_util']." ".$données['nom_util']." ".$statut."<br />";Merci d'avance
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 function cochage(Nom,Coché) { window.liste[Nom] = Coché; }; function accepter() { var i = 0; var j = 0; var url = ""; for(i=0;i<=window.liste.length;i++) { if(typeof window.liste[i] != "undefined" && window.liste[i] == true) { var statut = document.getElementById(i).value; url += "&id"+j+"="+i+"&stt"+j+"="+statut; j++; }; }; alert(url); document.getElementById("message").style.display = "block"; //ajax(window.location.search+url,"inscriptionvalidation","message","objet"); }![]()
Partager