2013-08-01 70 views
1

我正在使用CKEditor的项目中工作。我有一个具有多个属性的面板来创建工具提示。我选择CKEditor将内容插入到工具提示中,因为它非常适合用户。如何从textarea获取值

所有工作正常,如果我使用正常的textarea插入我想要的内容。但是,而不是一个正常的textarea我想使用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> 

我看了一下JavaScript代码插入ckeditor.instances ...等,但它是如何工作的,我不能弄明白。

+0

如果包括的CKEditor /适配器/ jquery.js和作为一个JavaScript文件作为藏汉的CKEditor/ckeditor.js您可以使用jQuery申请的CKEditor:$( “#editor1”)的CKEditor();你必须包含jquery适配器文件才能工作。 – azzy81

+0

我已经试过这种..但仍然不添加内容 – user2232273

回答

1

CKEditor的库注册一个global variable(对象)CKEDITOR(指window.CKEDITOR):

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

当你create an instance,让我们说CKEDITOR.replace(),它在CKEDITOR.instancesobject登记。此对象中的键对应于实例的名称。

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

这是您访问编辑器的API的方式,直到您销毁它为止。所以,如果你从你的编辑要retrieve data,基本上拨打:

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

如果你想使用jQuery与CKEditor的发挥,有一个为CKEditor的API的official wrapper (adapter)

此外,考虑到要使用的CKEditor生成HTML一些提示的事实,你可能希望避免由编辑器(默认行为)创建段落。您可以将configuration optionconfig.enterMode设置为CKEDITOR.ENTER_BR。有关配置CKEditor,请参阅the article

1

试试这个代码

Documentation

$('#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"> 
+0

感谢答案....但之后,我在编辑器中写道,文字消失 – user2232273

+0

我不知道是怎么回事... – user2232273

+0

你得到任何错误控制台.. !! –