Как мне установить значение в CKEditor с Javascript? - PullRequest
59 голосов
/ 31 августа 2010

Мне интересно, как я могу установить значение в CKEditor, используя Javascript?

Я пробовал следующее, но ни один из них не работает ...

document.[form name].[textarea name].value=data;
$('#textareaID').val(data);

Однако оба эти варианта работают без применения редактора. Есть ли способ сделать это с помощью редактора?

Ответы [ 9 ]

83 голосов
/ 04 декабря 2012

Используйте метод CKEditor setData():

CKEDITOR.instances[**fieldname**].setData(**your data**)
29 голосов
/ 23 июня 2012

Методы insertHtml() и insertText() будут вставлять данные в окно редактора, добавляя к уже существующему.

Однако, чтобы заменить весь контент редактора, используйте setData().

10 голосов
/ 31 августа 2010

Используйте метод insertHtml () или insertText () .

6 голосов
/ 15 июня 2012

Я использовал приведенный ниже код, и он работает нормально, как описано ->

CKEDITOR.instances.mail_msg.insertText(obj["template"]);

здесь-> CKEDITOR -> Ваше имя редактора, mail_msg -> Идентификатор вашей текстовой области (с которой вы связываете ckeditor), obj["template"] -> это значение, которое вы хотите связать

4 голосов
/ 16 июня 2016

Попробуйте

CKEDITOR.instances['textareaId'].setData(value);
3 голосов
/ 18 ноября 2016
<textarea id="editor1" name="editor1">This is sample text</textarea>

<div id="trackingDiv" ></div>

<script type="text/javascript">
    CKEDITOR.replace( 'editor1' );

</script>

Давайте попробуем это ..

Обновление:

Чтобы установить данные:

Создать экземпляр First ::

var editor = CKEDITOR.instances['editor1'];

Затем

editor.setData('your data');

или

editor.insertHtml('your html data');

или

editor.insertText('your text data');  

и получение данных из вашего редактора ::

editor.getData();

Если изменить конкретный параграф HTML-данных в CKEditor.

var html = $(editor.editable.$);
$('#id_of_para',html).html('your html data');

Это возможные способы, которые я знаю в CKEditor

2 голосов
/ 31 декабря 2018

Как и сегодня, когда CKEditor 4+ запущен, мы должны его использовать. ekeditor 4 setData документация

CKEDITOR.instances['editor1'].setData(value);

Где editor1 - текстовое поле Id .

Старые методы, такие как insertHtml('html data') и insertText('text data'), также работают нормально.

и для получения данных используйте

var ckdata =  CKEDITOR.instances['editor1'].getData();
var data = CKEDITOR.instances.editor1.getData();

Документация Ckedtor 4

2 голосов
/ 19 января 2015

Устанавливает данные редактора.Данные должны быть предоставлены в необработанном формате (HTML).CKEDITOR.instances.editor1.setData («Поместите ваши данные»); см. Эту страницу

1 голос
/ 06 мая 2013

Позаботьтесь о том, чтобы вырезать новые строки из любой строки, которую вы передаете setData(). В противном случае выдается исключение.

Также обратите внимание, что даже если вы сделаете это, затем впоследствии получите эти данные снова, используя getData(), CKEditorвставляет разрывы строк обратно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...