Le langage SMS est exclu sur les forums ProgBoards, tout message ne respectant pas la charte sera déplacé, modifié, ou supprimé par nos modérateurs.

Forum Web » HTML / XML » [Javascript] Modification dynamique d'un élement

Francesco
Modérateur
Citer Linux Firefox 3 - Posté le 31/07/2008 à 17:18
Bonjour à tous.

J'ai un petit souci avec javascript. Je m'explique : j'ai une balise <div id="mabalise">contenu</div>

que je modifie avec du code javascript. J'accède à l'élément pas document.getElementById("mabalise").

Le problème est que je peux modifer le contenu de la balise 1 fois (voire 2), mais après, plus rien ! Impossible de modifier le contenu ! J'ai essayé avec


document.getElementById("mabalise").innerHTML = html;



et


document.getElementById("mabalise").firstChild.nodeValue = html;



mais rien à faire. Et ca ne vient pas de ma variable html car j'ai vérifié son contenu avec un alert(html).

Bref, il semblerait que le contenu de l'élément ne soit pas mis jour. Quelqu'un a-t-il déjà eu ce problème ? Je google, mais sans grands résultats pour le moment...

[edit]
petite précision : j'utilise Firefox 3
[/edit]




Edité par Francesco ( 31/07/2008 17:23:23 )
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
RemonterCiter Linux Firefox 3 - Posté le 31/07/2008 à 17:48
Je n'ai jamais rencontré ce problème.

Une solution différente est peut-être envisageable, quel est ton besoin exactement ?
Change la caféine en lignes de code, et aurait parfois besoin de l'inverse.
Francesco
Modérateur
RemonterCiter Linux Firefox 3 - Posté le 31/07/2008 à 17:57
Non, le problème semble résolu. Sans doute un bug dans firefox. Refermer et rouvrir firefox semble avoir corriger le problème.
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
Francesco
Modérateur
RemonterCiter Linux Firefox 3 - Posté le 31/07/2008 à 21:54
Je confirme un bug dans firefox. Car un coup ça marche, un coup ca ne marche pas...

[edit]
En gros, je suis en train de développer un éditeur wiki en javascript avec support du plugin qtransate pour wordpress.

Le principe est de faire un "onglet" pour chaque langue (par exemple, français et anglais) plus un onglet qui contient tout le code.

Le problème est que lorsque je veux mettre à jour le contenu de l'onglet "code" à partir du contenu des autres onglets, la modification n'est pas toujours visible...
[/edit]

[edit bis]
Preuve qu'il s'agit d'un bug. Avec le code javascript suivant :


code = document.getElementById("code");
code.innerHTML = html;
alert(code.innerHTML);



alors, ce qui apparait dans la boite de dialogue qui apparait contient bien le contenu de la variable html, mais à l'écran, le contenu n'est pas modifié.

Et le problème est que cela ne le fait pas tout le temps...
[/edit]

Edité par Francesco ( 31/07/2008 22:07:05 )
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
Francesco
Modérateur
RemonterCiter Linux Firefox 3 - Posté le 31/07/2008 à 23:20
Bon, j'ai trouvé le bug. En fait, c'est le changement de display qui cause le bug.

Au gros, à chaque fois que je change d'onglet, je cache ceux qui ne m'interesse pas (display => none) et montre celui que je veux (display => block).

Il suffit que je mette un display "inline" pour que le contenu du textarea soit correctement affiché.

Je vais pauffiner ça et faire un rapport de bug...
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
RemonterCiter MacOS Firefox 3 - Posté le 31/07/2008 à 23:21
Oui, c'est étrange, signale le.
Change la caféine en lignes de code, et aurait parfois besoin de l'inverse.
Francesco
Modérateur
RemonterCiter Linux Firefox 3 - Posté le 31/07/2008 à 23:37
Je viens de faire un petit fichier que je vais joindre au rapport de bug. Pour les curieux, il est disponible sur le wall...



Wall (155) : Afficher le code source - Ouvrir dans une nouvelle fenêtre


Je mettrais le rapport de bug dès que je l'aurais ouvert. Et si quelqu'un peut tester sous Windows voir ce que cela donne ^^, ou avec d'autre version de firefox...

[edit]
rapport de bug à l'adresse suivante :
https://bugzilla.mozilla.org/show_bug.cgi?id=448679
[/edit]

Edité par Francesco ( 31/07/2008 23:50:15 )
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
RemonterCiter Linux Firefox 3 - Posté le 01/08/2008 à 12:55
Problème fixé pour FireFox 3 je vois (sourire)
Change la caféine en lignes de code, et aurait parfois besoin de l'inverse.
Francesco
Modérateur
RemonterCiter Linux Konqueror - Posté le 01/08/2008 à 13:07
Effectivement, le problème est fixé pour les toutes dernières versions de Firefox 3 (3.1.x)Effectivement, le problème est fixé pour les toutes dernières versions de Firefox 3 (3.1.x)
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)

Poster une réponse

STOP aux fautes volontaires !
Message
Formatage
Note: pour partager du code source, merci d'utiliser le wall !
Smileys (sourire) (yekyek) (clein d'oeil) (désapprouve) (triste) (cool) (langue) (confus) (gêné) (neutre) (eek) (surpris) (diable) (flèche) (exclamation) (question) (diable) (idée) (méchant)
Pseudonyme
Recopiez le code
v6 © Computaid SPRL 2005-2012 - Tous droits réservés - Hébergé par eTigris - Page générée en 0,037 s - Crédits - Stats
1 connecté