Bonjour à vous,
Voilà, j'ai un petit souci avec la compatibilité entre IE et FF.
En effet, on crée une série de checkbox ayant tous le même ID. Le but étant de récupérer les valeurs des checkbox.

La création se fait comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<input type="checkbox" id="checkbox" value=' + TabAbonnements[i].Id + ' checked onclick="javascript:uncheckAbo(' + TabAbonnements[i].Id + ' )" />
L'accés aux données comme cela :
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
 
if (window.ABO_Documents.checkbox[i]!=undefined)//try{
 
	if (window.ABO_Documents.checkbox[i].checked==true){
 
	      if (bFirst==true) {
	      newAbo = window.ABO_Documents.checkbox[i].value;
	      newAbo += ",";
		         if(window.ABO_Documents.mail[i].checked == true)		         newAbo += 'o';
		         else
		         newAbo += 'n';
	      newAbo += newAboMail;
	      bFirst=false;
	 }
 
                   else {
	      newAbo = newAbo + "/" + window.ABO_Documents.checkbox[i].value;
	      newAbo += ",";
	             if(window.ABO_Documents.mail[i].checked == true)
		newAbo += 'o';
		else
		newAbo += 'n';
	      newAbo += newAboMail;
	      }
	}
}
else alert('window.ABO_Documents.checkbox[' + i +']'); //catch(err){}

Le souci vient de la première ligne. en effet au départ, j'avais mis un try catch qui fonctionnait sous IE, donc pas de souci mais par contre cela bloquait sur firefox.
Après j'ai donc tenter :
if (window.ABO_Documents.checkbox[i]!=undefined)// remplace le try

En fait, FF n'a pas l'air d'éxécuter le test pour savoir si il s'agit d'une undefined. et donc a chaque contrôle il plante...

Il faudrait donc une solution alternative au try catch, ou bien une autre manière de tester la 'definition' d'une CB.

Quelques test que j'ai fait:
- faire des ID uniques pour chaque checkbox. et tenter d'y accéder par getElementbyID mais cela ne fonctonnait ni sur IE ni sur FF.

A savoir: la checkbox est affichée dans une IFrame et sa récupération se fait dans une IFrame différente de traitement. (la frame 'parent')

Merci d'avance et bonne journée,

Benjamin