IE problème innerHTML

Résolu/Fermé
powereborn Messages postés 7 Date d'inscription samedi 16 octobre 2010 Statut Membre Dernière intervention 31 août 2011 - 16 oct. 2010 à 21:21
powereborn Messages postés 7 Date d'inscription samedi 16 octobre 2010 Statut Membre Dernière intervention 31 août 2011 - 16 oct. 2010 à 22:09
Bonjour!
En fait j'ai un script js qui fait appel grâce à ajax à une page php devant affichant un certain contenu dans une div se trouvant dans la page principale. Le script fonctionne super bien même sous ie, le problème c'est que sous ie, il affiche une erreur moche du style document.getelementbyid(...)' a la valeur null ou n'est pas un objet pour la ligne 3 et la ligne 10 du script js. Et pourtant les contenus des div finissent par s'afficher grâce à innerHTML et en plus dès que j'actualise la page il n'y a plus ces 2 erreurs !
Voici l'adresse http://cluster1.easy-hebergement.net/

Cela affiche l'erreur sous ie seulement quand on ouvre un nouvel onglet ou qu'on va dessus pour la première fois, si on actualise il n'y a plus d'erreur, après des recherches je crois que c'est du au cache mais je ne suis pas sur et je n'arrive pas à rélger ce problème.
A voir également:

2 réponses

avion-f16 Messages postés 19244 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 17 avril 2024 4 496
16 oct. 2010 à 21:57
Salut.

Pour l'erreur à la ligne 3, c'est parce que tu appelles la fonction refreshTchat() avant le chargement complet de la page, donc l'arbre DOM n'est pas encore construit, et donc impossible d'accèder à document.getElementById("Tchat")
Pareil avec la fonction listeconversation() qui tente d'accèder à document.getElementById("conversation").

Pour la ligne 10, je ne vois aucun élément ayant "etat" comme id.
Pareil avec document.getElementById("listeamico"), dans la fonction listeamico()

Au passage, utilise « $("#id").html(var) » à la place de « document.getElementById('id').innerHTML = var ».
1
powereborn Messages postés 7 Date d'inscription samedi 16 octobre 2010 Statut Membre Dernière intervention 31 août 2011 1
Modifié par powereborn le 16/10/2010 à 22:11
Merci j'ai juste eu à placer les appels des fonctions dans $(document).ready(function() { });
Et remplacer les innerHTML comme tu me l'as dit ça marche impec, c'est vrai tu as tout à fait raison la page ne s'était pas chargé entièrement c'est pour cela.
Je te remercie beaucoup!!
0