简体   繁体   中英

How to get the content of a Tinymce textarea with JavaScript

i have an array of content then how we get content of Tinymce textarea in javascript

I solved it with code:

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

the activeEditor is current editor,but i use tinyMCE.get('editor1').getContent() can not get the value of my editor, hope it can help you

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

lets say your mce textarea instance is:

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

then you get the content as follows:

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

if you mean you have multiple instances of mce editor on one page and you want to get content then try this approach:

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

the above code adds each editor content into an array

I had the same problem. I have solved using this code:

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

Source: spocke is the author

您可以使用:

tinymce.get(editorid).getContent();

In my case (v4.3.12), none of the above worked, so I did a workaround:

Html code:

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

JQuery code:

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

Where editable_container is my tinyMCE editor's placeholder textarea, the editable area's iframe id is generated from adding a _ifr postfix to the placeholder's id, and the content-editable container (which contains the formatted text), has an id tinymce with a data-id attribute of the placeholder's id.

tinymce.get('editorId').setContent(response.data);

这对我来说适用于版本 4 (9.8):

var Content = tinyMCE.editors['Your_ID'].getContent();

Use the getContent() method from the TinyMCE API.

Let's say you have initialized the editor on a textarea with id=”myTextarea”. First access the editor using that same id, then call getContent() . For example:

var myContent = tinymce.get('myTextarea').getContent();

Or, instead of accessing the editor by id, you can access the active editor :

var myContent = tinymce.activeEditor.getContent();

If want to get the TinyMCE content without the HTML tags, you can pass in a parameter to indicate that you want the result in plaintext. For example:

var myContent = tinymce.get('myTextarea').getContent({format: 'text'});

More info and examples here: https://www.tiny.cloud/blog/how-to-get-content-and-set-content-in-tinymce .


tinymce.activeEditor.getContent();

For version 4.1.9, this is what worked for me:

 $(function(){ $('button').click(() => { const out3 = tinyMCE.get('bobt').getContent(); //*MUST* be an ID, not a class alert(out3); $('#out').html(out3); }); });
 <textarea id="bobt" class="tinymce"></textarea> <div id="outx"><button>Get it</button></div> <div id="out"></div>

Notes:

  1. .get() requires an ID, not a class
  2. tinymce.get() or tinyMCE.get() both work -- uppercasing the MCE does not matter

If you are more familiar with (and are using the jquery wrapper), you can also do this using this:

$('#editor1').tinymce().getContent();

Where (editor1) is your selector.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM