[Résolu] [javascript] [firefox] .innerhtml = tronqué

.innerhtml = tronqué [Résolu] [javascript] [firefox] - HTML/CSS - Programmation

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à :
 

Code :
  1. <table>
  2.   <form objet1>
  3.      <tr><td>nom objet 1</td><td>...</td><td>...</td><td>action + champs cachés</td></tr>
  4.   </form>
  5.   <form objet2>
  6.      <tr><td>nom objet 2</td><td>...</td><td>...</td><td>action + champs cachés</td></tr>
  7.   </form>
  8. ...
  9.   <form objetn>
  10.      <tr><td>nom objet n</td><td>...</td><td>...</td><td>action + champs cachés</td></tr>
  11.   </form>
  12. </table>


 
maintenant (et là ça bug pas):

Code :
  1. <table>
  2.      <tr><td>nom objet 1</td><td>...</td><td>...</td><td><form objet1>action + champs cachés</form></td></tr>
  3.      <tr><td>nom objet 2</td><td>...</td><td>...</td><td><form objet2>action + champs cachés</form></td></tr>
  4. ...
  5.      <tr><td>nom objet n</td><td>...</td><td>...</td><td><form objetn>action + champs cachés</form></td></tr>
  6. </table>


 
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 :  

Code :
  1. <h1>titre 1</h1>
  2. <div id="liste">emplacement de la liste à mettre à jour</div>
  3. <h2>formulaires & action</h2>
  4. <div id="liste_action">
  5. <form name="form 1">action 1</form>
  6. ...
  7. <form name="form n">action n</form>
  8. </div>


 
• 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
Reply

Marsh Posté le 24-07-2008 à 12:40:31   

Reply

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


---------------
[mon site] [m'écrire]
Reply

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.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed