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";
}
- 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:
Je n'ose rien changer à ckeditor.js, puisque l'éditeur fonctionne très bien en autres circonstances.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 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.