2010-12-07 6 views
1

Je génère dynamiquement des cases à cocher pour une fenêtre contextuelle (affichée en utilisant AJAX) en utilisant javascript et en cliquant sur un bouton, je dois également appeler une fonction qui vérifie toutes les cases avant le rendu.CheckBox Issue dans IE6

Toutes les pages utilisées sont des pages JSP et la fenêtre contextuelle est également incluse en utilisant la balise afin qu'elle soit déjà générée lorsque la page parente est chargée.

Le problème est que je suis en mesure de vérifier toutes les cases à cocher générées en utilisant la même fonction dans IE7 et IE8. Mais cela ne fonctionne pas pour IE6.

J'utilise quelque chose comme:

var i; 
for(i=0; i<size; i++){ 
    document.getElementById('chk'+i).checked = true; 
} 
+0

Veuillez emballer votre code dans un bloc de code (l'icône 1010101 en haut de l'éditeur) car il ne peut pas être vu pour le moment –

Répondre

0

Sans vouloir sonner comme une réponse pat « utiliser jQuery », si vous deviez le faire avec une bibliothèque comme jQuery, les incohérences IE6 serait probablement bien abstraite.

+0

hmmm dépend ce que vous entendez par "abstraction". Dans certains cas, il est juste "caché en vous forçant à utiliser une solution de contournement". Mais je vois votre point :) – haylem

+0

merci pour la réponse ... Mais le code fonctionne bien dans IE7 et IE8 donc je vais juste besoin de changer un assez long morceau de code pour IE6 que je commence à détester complètement par le façon .....: P – Batman

1

Ce code devrait fonctionner correctement, même dans IE6 (qui, soyons honnêtes, est un navigateur vraiment affreux).

Toutefois, si vous avez inséré ces cases à cocher dans la page de façon dynamique, IE6 a un problème connu avec des cases à cocher ajoutées dynamiquement, où il ne respecte pas la propriété .checked.

Voir cette page pour quelques solutions possibles: http://bytes.com/topic/javascript/insights/799167-browser-quirk-dynamically-appended-checked-checkbox-does-not-appear-checked-ie

espoir qui aide. :)

(Mais ma solution est: Ne supporte pas IE6 Honnêtement, son utilisation est à quelques pour cent maintenant et plus bas, donc à moins que ce soit plus utilisé par votre groupe démographique, il suffit de réduire vos pertes et déposez-le, les utilisateurs restants mettront à jour assez tôt. ;-))

+0

Merci Spudley ... S'il vous plaît donnez-moi le lien pour la page dont vous parlez. Je ne l'ai pas trouvé dans votre réponse ... – Batman

+0

Et oui je suis d'accord que IE6 est terrifiant à travailler !!! ;) – Batman

+0

agh! Je ne sais pas ce qui s'est passé là-bas! : -o a ajouté le lien pour vous. – Spudley