如何从文本区域获取值

How to get the value from the textarea

本文关键字:获取 区域 文本      更新时间:2023-09-26

我正在进行一个使用CKEditor的项目。我有一个具有多个属性的面板来创建工具提示。我选择CKEditor将内容插入工具提示中,因为它对用户来说非常好。

如果我使用普通的文本区域插入我想要的内容,一切都会很好。但是作为一个普通的文本区域,我想使用CKEditor。我不知道发生了什么,但工具提示没有得到我写的内容。

有人可以帮我吗?

// Normal textarea, this works
<textarea id="editor1" autocomplete="off"></textarea>

CKEditor:的脚本

<textarea id="editor1" name="editor1" autocomplete="off"></textarea>
<script type="text/javascript">
    CKEDITOR.replace( 'editor1' );
</script>

我已经阅读了关于插入ckeditor.instances的JavaScript代码。。。等等,但我搞不清楚它是怎么工作的。

CKEditor库注册一个全局变量(对象)CKEDITOR(指window.CKEDITOR):
console.log( CKEDITOR );
> Object {...}

当您创建一个实例时,比方说使用CKEDITOR.replace(),它在CKEDITOR.instances对象中注册。该对象中的键与实例的名称相对应。

console.log( CKEDITOR.instances.editor1 );
> Object {...}

这是你访问编辑器的API的方式,直到你销毁它。所以,如果你想从编辑器中检索数据,基本上调用:

console.log( CKEDITOR.instances.editor1.getData() );
> "<p>Some text</p>"

如果您想使用jQuery来玩CKEditor,那么有一个官方的CKEditorneneneba API包装器(适配器)。

此外,考虑到您希望使用CKEditor为某些工具提示生成HTML,您可能希望避免由编辑器创建段落(默认行为)。您可以通过设置配置选项:config.enterModeCKEDITOR.ENTER_BR来完成此操作。请参阅有关配置CKEditor的文章。

尝试此代码

文档

$('#editor1').ckeditor(); // to add ckeditor to textbox
$('#editor1').val(); // fetching value from textbox

不要忘记添加jQuery文件

<script type="text/javascript" src="/ckeditor/ckeditor.js"></script>
<script type="text/javascript" src="/ckeditor/adapters/jquery.js">