web-dev-qa-db-ja.com

TinyMCEテキストエリアから値を取得する

TinyMCEを使用しているサイトのニュースエディターがあります。私ができるようにしたいのは、(TinyMCEエディター自体の外に)ボタンがあり、クリックしてテキストエリアの画像をスキャンし、それらの画像をニュース記事のサムネイル画像に使用するオプションとしてリストすることができることです.

私の意味については、こちらのリンクをご覧ください: https://docs.google.com/leaf?id=0B05m73kzudwPNzUwZjkyNmItYjZkMy00NTdlLTlkNDctOGRhYThjMzNjNTM5&hl=en_US

私の問題は、textareaにテキストがあるときにdocument.getElementById( 'NewsArticle')。valueが何も返さないことです。

もう1つの潜在的な問題は、textareaに表示されるものが実際のコードではなく、画像などであるため、そもそも機能するかどうかはわかりませんでしたが、フォームが送信されるとデータ[News] [article]値がテキストに戻ったので、チャンスがあるかもしれないと思った。

誰かがtinyMCEテキストエリアのコンテンツまたはコードを取得する方法を知っている、またはより良い解決策を持っているなら、私は聞いてみたい

54
Sanfly

TinyMceには、エディターからコンテンツにアクセスするための api があります。

このコードは、アクティブなエディターからhtmlを取得します。

// 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

以下の構文を使用します。これにより、入力テキストエリアから不要な文字が削除されます。

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

試してみる

_window.parent.tinymce.get('contentID').getContent();
_

何らかの理由で、ストック標準のtinymce.get()呼び出しが機能しなかったため、これを試してみましたが機能します。 :)

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

[〜#〜]または[〜#〜]

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