Bonjour,
Je rencontre un souci avec ckeditor depuis une mise à jour de ckeditor.
Avant la mise à jour, le code javascript suivant fonctionnait:
Code : Tout sélectionner
var Mere = document.getElementById('Rediger');
function AfficheDuMur_N (id_perso, id_deux) {
var Dest = document.getElementById('RepMur_' + id_deux);
var DivRedac = document.getElementById('BulleDeRedaction');
Mere.removeChild(DivRedac);
Dest.appendChild(DivRedac);
document.getElementById('TitreDeRedaction').innerHTML = 'Votre réponse';
document.getElementById('NumInit').value = id_deux;
Mere = Dest;
document.getElementById('Cliquez_' + id_deux).style.display = "none";
}
Voici ce que ça devrait faire:
- sur une page, j'ai plusieurs div identifiées individuellement par id="RepMur_"xyz
- En ouverture de cette page, j'ai la div de rédaction qui est en tête, à l'intérieur de 'Rediger'
Lorsque le visiteur écrit dans la fenêtre de ckeditor en ouverture: fonctionnement correct.
Ce n'est donc pas ckeditor qui est en problème.
Cependant, lorsque le visiteur clique sur un bouton et fait exécuter la fonction ci-haut (function AfficheDuMur_N ),
il n'est plus possible d'utiliser le traitement de texte ckeditor.
La fonction se rend jusqu'au bout sans souci.
Cependant, lorsqu'on clique dans la fenêtre ou sur un des boutons ( « gras » ou « italique » par exemple) de ckeditor, le message suivant apparaît dans la console de débogage:
TypeError: this.document.getWindow(...).$ is undefined[En savoir plus] ckeditor.js:422:228
CKEDITOR.dom.selection.prototype.getNative
http://127.0.0.1/[...]/ckeditor/ckeditor.js:422:228
CKEDITOR.dom.selection
http://127.0.0.1/[...]/ckeditor/ckeditor.js:420:272
CKEDITOR.editor.prototype.getSelection
http://127.0.0.1/[...]/ckeditor/ckeditor.js:418:11
CKEDITOR.plugins.undo.Image
http://127.0.0.1/[...]/ckeditor/ckeditor.js:1007:458
e.prototype.save
http://127.0.0.1/[...]/ckeditor/ckeditor.js:1002:123
.init/<
http://127.0.0.1/[...]/ckeditor/ckeditor.js:998:395
m
http://127.0.0.1/[...]/ckeditor/ckeditor.js:10:222
CKEDITOR.event.prototype</<.fire</<
http://127.0.0.1/[...]/ckeditor/ckeditor.js:12:42
CKEDITOR.editor.prototype.fire
http://127.0.0.1/[...]/ckeditor/ckeditor.js:13:212
.setData
http://127.0.0.1/[...]/ckeditor/ckeditor.js:256:311
AfficheDuMur_N
http://127.0.0.1/[...]/Reseau/index.js:82:2
<anonyme> javascript:AfficheDuMur_N(2,14);:1:2
Je n'ose rien changer à ckeditor.js, puisque l'éditeur fonctionne très bien en autres circonstances.
Je suppose qu'il y a de quoi d'erroné ou manquant à ma fonction de déplacement de l'éditeur.
Sauriez-vous quoi ?
Voici - par ailleurs - la div complète où se trouve le textarea et les div appelées par la fonction.
<div id="Rediger">
<!-- Petit formulaire de rédaction « Votre commentaire du jour » -->
<img src="images/Decors/Reseau.jpg" width="30%" alt="Se garder formé et en forme" align="right" />
<div id="BulleDeRedaction">
<form action="RepTraitement/FicherTraitement.php" method="POST" enctype="multipart/form-data" id="FormRedaction" name="Questionne" Target="ContenuVariable" onsubmit="return CommentaireSoumis()" >
<span id="TitreDeRedaction">Votre commentaire du jour :</span> <br />
<textarea name="Contenu" rows="4" cols="40" id="Contenu_nouveau"></textarea><br />
<input type="hidden" name="NumInit" id="NumInit" value="0" />
<input name="Soumettre" value="Ecrire" id="Soumetre_nouveau" type="submit" />
</form>
</div>
</div>
J'ai vérifié: le déplacement de la div se fait très bien, tous ses éléments sont après comme ils étaient avant le déplacement.
Merci à l'avance.