Tutoriaux > Javascript > Unknown runtime error sous Internet Explorer en utilisant AJAX et InnerHTML
Il peut vous arriver que vos fonctions AJAX utilisant InnerHTML fonctionnent sans souci sur tous les navigateurs, sauf Internet Explorer. Voici la solution pour s'en débarasser.
Je travaillais sur un script en AJAX aujourd'hui même et me suis retrouvé confronté à cette horrible erreur qui ne dit absolument rien sur elle-même:
Code
Line: 673
Character: 4
Code: 0
Error Message: Unknown runtime error
J'ai passé quelques heures à m'arracher la tête, pour finir par tirer quelques conclusions. Cette erreur apparait souvent lorsqu'un id est mal défini et que le navigateur ne trouve pas le bon élément sur lequel appliquer le innerHTML.
Dans ce cas, les autres navigateurs ne devraient pas trouver l'élément non plus!. Vous pouvez voir les erreurs plus précisément avec la console de débuggage de Firefox (Appuyez sur CTRL + MAJ + J)
Il vous suffit par la suite simplement de cliquer sur la ligne en question, et Firefox vous amène vers la ligne du code Javascript qui ne trouve pas son élément.
Alors cela devrait venir d'une des raisons suivantes:
Si votre innerHTML renvoyé contient de tags ouverts et pas fermés, ou pas bien emboités (Exemple: <p><strong>Blabla</p></strong> doit être <p><strong>Blabla</strong></p>), IE n'aime pas et ne veut pas insérer le HTML. Controlez donc bien tous vos tags
Si l'élément recevant le InnerHTML est déjà inclus dans un <form>, faites attention à ne pas réouvrir un autre <form>
Merci aux contributeurs de ce blog qui m'ont un peu sauvé la vie sur le coup Alors je vous fais partager.
Par Skwizer
, Le 08 Février 2010 à 13h08
Ce tutoriel est la propriété d'Aidoweb et ne peut en aucun cas être copié.
Ça reste du PBCK...
Tutoriaux > Javascript > Unknown runtime error sous Internet Explorer en utilisant AJAX et InnerHTML