我想知道如何使用Javascript在CKEditor
中设置值?
我尝试了下面的方法,但它们都没有成功...
document.[form name].[textarea name].value=data;
$('#textareaID').val(data);
然而,这两种方式在未应用编辑器时都可以正常工作。有没有办法在应用编辑器的情况下实现这个功能呢?
我想知道如何使用Javascript在CKEditor
中设置值?
我尝试了下面的方法,但它们都没有成功...
document.[form name].[textarea name].value=data;
$('#textareaID').val(data);
然而,这两种方式在未应用编辑器时都可以正常工作。有没有办法在应用编辑器的情况下实现这个功能呢?
setData()
方法:CKEDITOR.instances[**fieldname**].setData(**your data**)
试一试
CKEDITOR.instances['textareaId'].setData(value);
<textarea id="editor1" name="editor1">This is sample text</textarea>
<div id="trackingDiv" ></div>
<script type="text/javascript">
CKEDITOR.replace( 'editor1' );
</script>
让我们试试这个...
更新:
设置数据:
首先创建一个实例:
var editor = CKEDITOR.instances['editor1'];
那么,
editor.setData('your data');
或者
editor.insertHtml('your html data');
或者
editor.insertText('your text data');
editor.getData();
如果要在CKEditor中更改特定段落的HTML数据。
var html = $(editor.editable.$);
$('#id_of_para',html).html('your html data');
CKEDITOR.instances.mail_msg.insertText(obj["template"]);
这里->
CKEDITOR
->您的编辑器名称,
mail_msg
->您文本区域的ID(将其绑定到 CKEditor),
obj["template"]
->是您想要绑定的值
由于现在CKEditor 4+已经发布,我们必须使用它。CKEditor 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();
window.CKEDITOR
中找到了它。 - Qiushi Huang设置编辑器数据。数据必须以原始格式(HTML)提供。 CKEDITOR.instances.editor1.setData('放置您的数据。'); 参考此页面
我尝试了这个方法,对我有效。
success: function (response) {
document.getElementById('packageItems').value = response.package_items;
ClassicEditor
.create(document.querySelector('#packageItems'), {
removePlugins: ['dragdrop']
})
.then(function (editor) {
editor.setData(response.package_items);
})
.catch(function (err) {
console.error(err);
});
},
请注意,如果您在传递给 setData()
的任何字符串中保留换行符,则会抛出异常。因此,请务必删除它们。
另外请注意,即使您这样做了,然后使用 getData()
再次获取该数据,CKEditor 也会重新添加换行符。