一旦CKeditor实例被调用,Javascript就无法在textarea中更改文本

Fáb*_*nes 9 html javascript ckeditor

好吧,我首先编写了一个Javascrip函数,它可以textarea根据您在下拉框中所做的选择更改文本,这是一件非常简单的事情.

HTML

<form name="formconteudo">
<select name="selectpage" onChange="change();">
<option value="1">something</option>
<option value="2">another thing</option>
<option value="3">going crazy</option>
</select>
</form>
Run Code Online (Sandbox Code Playgroud)

JS

var Code = new Array("", "Selected 1", "Selected 2", "Selected 3");
function change()
{
var ID =  formconteudo.selectpage.options[formconteudo.selectpage.selectedIndex].value;
document.formconteudo.ckeditor.value = Code[ID];
}
Run Code Online (Sandbox Code Playgroud)

这工作得很好,并改变了textarea中的文本.但后来我在该textarea上调用了一个CKeditor实例,以便我可以在该textarea上使用CKEditor.编辑加载得很好,效果很好.但现在javascript无法运行.

这个问题有什么暗示吗?

谢谢

Dou*_*ner 26

您将要setData在编辑器上使用该方法.

以下是他们的文档中的示例.

CKEDITOR.instances.editor1.setData( '<p>This is the editor data.</p>' );
Run Code Online (Sandbox Code Playgroud)

这意味着您的代码将如下所示:

var Code = new Array("", "Selected 1", "Selected 2", "Selected 3");
function change()
{
var ID =  formconteudo.selectpage.options[formconteudo.selectpage.selectedIndex].value;
CKEDITOR.instances.editor1.setData( '<p>' + Code[ID] + '</p>' );
}
Run Code Online (Sandbox Code Playgroud)

注意 instances.editor1可能不是指您的盒子,因此请务必使用正确的名称