Как получить содержимое текстовой области Tinymce с помощью JavaScript

У меня есть массив контента, то, как мы получаем содержание Tinymce textarea в JavaScript

12 ответов

Решение

Допустим, ваш экземпляр mce textarea:

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

тогда вы получаете контент следующим образом:

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

если вы имеете в виду, что у вас есть несколько экземпляров редактора mce на одной странице, и вы хотите получить контент, попробуйте этот подход:

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

Приведенный выше код добавляет каждый редактор содержимого в массив

Я решил это с кодом:

// 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() не может получить значение моего редактора, надеюсь, это поможет вам

моя домашняя страница 机器鸟

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

Вы можете использовать:

tinymce.get(editorid).getContent();

У меня такая же проблема. Я решил с помощью этого кода:

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

Источник: спок это автор

В моем случае (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 редактируемой области генерируется путем добавления _ifr постфикс к идентификатору заполнителя, и content-editable контейнер (который содержит отформатированный текст), имеет идентификатор tinymce с data-id атрибут идентификатора заполнителя.

Использовать getContent() из TinyMCE API.

Допустим, вы инициализировали редактор в текстовой области с id = "myTextarea". Сначала войдите в редактор, используя тот же идентификатор, затем вызовитеgetContent(). Например:

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

Или вместо доступа к редактору по идентификатору вы можете получить доступ к активному редактору:

var myContent = tinymce.activeEditor.getContent();

Если вы хотите получить содержимое TinyMCE без тегов HTML, вы можете передать параметр, чтобы указать, что вы хотите получить результат в виде открытого текста. Например:

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

Дополнительная информация и примеры здесь: https://www.tiny.cloud/blog/how-to-get-content-and-set-content-in-tinymce.

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

tinymce.activeEditor.getContent();

Эта работа для меня для версии 4 (9.8):

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

ни один из этих кодов не работает ни в 3.x, ни в последних версиях 4.x

tinyMCE.getContent не является функцией

Для версии 4.1.9 у меня сработало следующее:

Примечания:

  1. .get()требуется идентификатор, а не класс
  2. tinymce.get()илиtinyMCE.get()оба работают - верхний регистрMCEне имеет значения

Если вы более знакомы с (и используете оболочку jquery), вы также можете сделать это, используя это:

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

Где (editor1) - ваш селектор.

Другие вопросы по тегам