.innerhtml = tronqué [Résolu] [javascript] [firefox] - HTML/CSS - Programmation
Marsh Posté le 24-07-2008 à 12:53:46
bonjour,
ajax renvoie du texte. donc : non interprété.
le javascript contenu dans la réponse n'est pas exécuté !
faire un eval... ( ou autre ) de ce qu'il faut ( uniquement
du js, pas le html ! sinon ça plante )
regarde comment font les ( soit-disant ) framework
ou ch'tiot exemple ici :
http://marcel-bultez.chez-alice.fr [...] AG/GAG.zip
MAIS, généralement, c'est totalement inutile de retourner
du javascript avec ajax.... "il suffit" de mettre la fonction
dans la page appelante et point barre.
ajax est censé retourner des données ! pas une page
html avec son javascript ( enfin, ce n'est que mon avis )
Cordialement
Marsh Posté le 24-07-2008 à 13:01:21
on s'est mal compris bul3,
ajax ne me renvoit pas une page avec son javascript mais bien un ensemble de donnée.
cet ensemble de donnée est structuré par javascript suite à un eval en un tableau html au sein d'une variable "affichage".
cette variable est ensuite injecté dans un <div> via .innerHTML =
mais si cela ne pose aucun souci sous ie,
l'affichage se retrouve tronqué sous firefox.
c'est la première fois que cela arrive, et je ne comprend absolument pas pourquoi.
Marsh Posté le 24-07-2008 à 12:40:31
Résolu :
j'ai démonté mon tableau pour l'injecter élément par élément et j'ai trouvé le souci,
cela venait de ma définition de <form>
mon tableau de donnée avait cet aspect là :
maintenant (et là ça bug pas):
Comme quoi on en apprend tout les jours, par contre faut que je change mes vieilles habitudes pour créer mes formulaires...
merci
---------------------------------------------------------
Bien le bonjour,
après divers test et recherche je me tourne vers vous car je ne trouve pas, et surtout ne comprend pas mon souci.
J'utilise depuis un moment déjà l'XMLHttpRequest avec succès, et utilise document.getElementById("xxx" ).innerHTML = yyy; pour mettre à jour les éléments dans ma page.
Cependant aujourd'hui je me heurte à un bug que je ne comprend pas.
J'ai une variable javascript qui contient des données ordonnées sous forme de tableau,
ces données sont mises à jours suivant les actions de l'utilisateur,
j'ai donc une fonction javascript qui par le biais de l'XMLHttpRequest tient à jour ce tableau et l'injecte dans la page.
ma page est structurée ainsi :
• Si je fais un alert(tableau_a_afficher) j'ai une alerte qui contient bien tout le contenu à afficher
• Sous Ie6 / 7, le tableau s'affiche au complet sans souci
• Sous firefox seule la premiere rangée (<tr></tr> ) s'affiche
chose amusante si j'inverse l'ordre des éléments dans la page,
sous Ie cela fonctionne toujours sans souci, et firefox m'affiche alors les 2 premières rangées de mon tableau.
C'est surement un truc tout bête, mais j'avoue que là tout de suite maintenant je ne vois pas du tout d'où provient le souci...
merci d'avance,
je continue de chercher de mon côté et mettrai ce sujet à jour si je trouve la solution.
edit: je précise, au cas où, que ce problème est constaté que la feuille de style soit chargé, ou non.
Message édité par maosalia le 24-07-2008 à 14:44:31