Bonjour chers informaticiens,
Voilà, j'ai un souci que je n'arrive pas à résoudre depuis plus de 10 heures de boulot! Il s'agit en fait d'un textarea avec CKeditor (en non FCKeditor, l'API est différente) que j'aimerai afficher dans un div en bas de la même page (En gros un bouton visualiser avant d'envoyer!). Sauf que ça ne marche pas!
A savoir, lorsque je désactive le CKeditor, le texte s'affiche super bien, donc le problème est vraiment lié au CKeditor.
Voici les bouts de codes liés à ce problème:
En haut de mon fichier php j'ai le code suivant qui permet d'inclure les fichiers js.
Le ckeditor.js est le fichier js du CKeditor et le jquery.js est la librairie jQuery pour CKeditor.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> <script type="text/javascript" src="ckeditor/ckeditor.js"></script> <script type="text/javascript" src="ckeditor/adapters/jquery.js"></script>
Jusqu'à là tout va bien...
Voici le code de la fonction javascript en question qui suit les includes(lire les commentaires dans le code).
Et enfin mon formulaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 function viewNewsletter(textareaId, titleId, viewDiv){ var title_mail = encodeURIComponent(document.getElementById(titleId).value); //*************le titre (au dessus) s'affiche correctement car c'est un champ texte normal //************* VOICI TOUT CE QUE J'AI ESSAYE' //var contentLetter = CKEDITOR.instances.getCustomData(textarea); //var contentLetter = CKEDITOR.instances.getHTML(textarea); //var contentLetter = CKEDITOR.instances.getHtml(textarea); //var contentLetter = CKEDITOR.instances.getxhtml(textarea); //var contentLetter = CKEDITOR.textarea.GetData(); //var contentLetter = encodeURIComponent(document.getElementById(textareaId).value); //var contentLetter = document.getElementById("textarea").value; //CKEDITOR.htmlParser.element("textarea") //var contentLetter = $('textarea').ckeditor().getData(); //var contentLetter = CKEDITOR.textarea.GetData(); // Get editor object //var editor = $('#textarea').ckeditorGet(); //alert( editor.checkDirty() ); // Get the editor data. //var contentLetter = $('editor').val(); //var contentLetter = $('#textarea').ckEditorGet().Preview(); var editor = CKEDITOR.editor.replace('textarea'); var contentLetter = editor.getData(); alert(contentLetter); //************** AUCUNE NE FONCTIONNE !!! ... etc }
Voilà,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <form> <div style="clear: both;"> <textarea class="ckeditor" id='textarea' name='texte_rub' cols='103' rows='10'></textarea> </div> <input type='button' value='Visualiser' onclick="viewNewsletter('textarea', 'title', 'viewDiv');" /> <input type='submit' value='Valider' /> <div id='viewDiv'> // là où la preview devrait s'afficher </div> </form>
Je vous remercie d'avance de votre aide![]()
![]()
Partager