web-dev-qa-db-fra.com

Obtenir la valeur d'une zone de texte TinyMCE

J'ai un éditeur de nouvelles pour mon site avec lequel j'utilise TinyMCE. Ce que je voudrais pouvoir faire, c'est avoir un bouton (en dehors de l'éditeur TinyMCE lui-même) sur lequel je peux cliquer pour numériser la zone de texte pour toutes les images, puis répertorier ces images comme options à utiliser pour une image miniature pour ledit article de presse.

Pour avoir une idée de ce que je veux dire, veuillez consulter ce lien ici: https://docs.google.com/leaf?id=0B05m73kzudwPNzUwZjkyNmItYjZkMy00NTdlLTlkNDctOGRhYThjMzNjNTM5&hl=en_US

Mon problème est que la valeur document.getElementById ('NewsArticle'). Ne renvoie rien lorsqu'il y a du texte dans la zone de texte

L'autre problème potentiel est que ce qui est affiché dans la zone de texte n'est pas du code réel, mais aussi des images, donc je n'étais pas sûr que cela fonctionnerait même en premier lieu, mais depuis quand le formulaire est soumis, les données [News] [article] la valeur est de retour dans le texte, j'ai pensé qu'il pourrait y avoir une chance.

Si quelqu'un sait comment obtenir le contenu ou le code de la zone de texte tinyMCE, ou a une meilleure solution, je serais intéressé d'entendre

54
Sanfly

TinyMce a ne api pour accéder au contenu de l'éditeur.

Ce code récupérera le html de l'éditeur actif:

// Get the HTML contents of the currently active editor
tinyMCE.activeEditor.getContent();

// Get the raw contents of the currently active editor
tinyMCE.activeEditor.getContent({format : 'raw'});

// Get content of a specific editor:
tinyMCE.get('content id').getContent()
139
Matthew Manela

Utilisez la syntaxe ci-dessous, qui supprimera les caractères indésirables de votre zone de texte d'entrée ....

(((tinyMCE.get('YourTextAreaId').getContent()).replace(/(&nbsp;)*/g, "")).replace(/(<p>)*/g, "")).replace(/<(\/)?p[^>]*>/g, "");
7
Milan

Essayer

window.parent.tinymce.get('contentID').getContent();

Pour une raison quelconque, l'appel standard de la fonction tinymce.get() ne fonctionnait pas pour moi, j'ai donc essayé cela et cela fonctionne. :)

5
XtraSimplicity
var temp = tinymce.get('textAreaName').save();
console.log(temp);

[~ # ~] ou [~ # ~]

var temp =tinymce.get('textAreaName').getContent();
console.log(temp);
4
sujithklr93