Interpretation checkbox 'undefined' sous Firefox (fonctionne sous IE)
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:
<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:
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