web-dev-qa-db-ja.com

JavaScriptでTinymceテキストエリアのコンテンツを取得する方法

私はコンテンツの配列を持っているので、JavascriptでTinyymceテキストエリアのコンテンツを取得する方法

41
pooja

あなたのmce textareaインスタンスは次のようになります:

<textarea id="editor1" ....></textarea>

その後、次のようにコンテンツを取得します。

var content =  tinyMCE.getContent('editor1');

1ページに複数のmceエディターのインスタンスがあり、コンテンツを取得したい場合は、次のアプローチを試してください。

var inst, contents = new Object();
for (inst in tinyMCE.editors) {
    if (tinyMCE.editors[inst].getContent)
        contents[inst] = tinyMCE.editors[inst].getContent();
}

上記のコードは、各エディターのコンテンツを配列に追加します

29
z.eljayyo

私はコードでそれを解決しました:

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

activeEditorは現在のエディターですが、tinyMCE.get( 'editor1')。getContent()を使用すると、エディターの値を取得できません。

私のホームページは 机器鸟

Tinymce API: http://www.tinymce.com/wiki.php/API3:method.tinymce.Editor.getContent

65
jqpress

同じ問題がありました。私はこのコードを使用して解決しました:

tinyMCE.get('editor1').getContent();

ソース: spockeが著者

18
CyE

次を使用できます。

tinymce.get(editorid).getContent();
15
Thariama

私の場合(v4.3.12)、上記のいずれも機能しなかったため、回避策を実行しました。

HTMLコード:

<div id="wrapper">
    <textarea id="editable_container" name="editable_container"></textarea>
</div>

JQueryコード:

var iframe = $('#editable_container_ifr');
var editorContent = $('#tinymce[data-id="editable_container"]', iframe.contents()).html();
console.log(editorContent);

どこeditable_containerは、tinyMCEエディターのプレースホルダーテキストエリアです。編集可能エリアのiframe IDは、_ifrプレースホルダーのIDに後置し、content-editableコンテナ(書式設定されたテキストを含む)には、ID tinymcedata-idプレースホルダーのIDの属性。

4
Derenir