我在这上面阅读了this post,我试图通过jQuery简单地将文本添加到我的CKEditor中。我使用此代码,但它出现以下错误:
$(document).ready(function(){
CKEDITOR.instances.txtDESCRIPTION.insertText('some text here');
});
---
<%@ Register TagPrefix="CKEditor" Namespace="CKEditor.NET" Assembly="CKEditor.NET" %>
<CKEditor:CKEditorControl id="txtDESCRIPTION" Toolbar="SplendidCRM" Language='<%# Session["USER_SETTINGS/CULTURE"] %>' Height="400" BasePath="~/ckeditor/" FilebrowserUploadUrl="../ckeditor/upload.aspx" FilebrowserBrowseUrl="../Images/Popup.aspx" FilebrowserWindowWidth="640" FilebrowserWindowHeight="480" runat="server" />
未捕获的TypeError:无法调用未定义的方法'insertText'
如何简单地将文本“test”添加到我的CKEditor?
注意:这使用CKEditor.NET,而不是jQuery CKEditor版本。
答案 0 :(得分:1)
你有没有打电话给CKEDITOR.replace('txtDESCRIPTION')
?
如果是,那么oEditor.setData('test')
就可以做到这一点。
编辑:
似乎ckeditor.net正在重命名id
来自评论中的link
您可以通过查找来解决重命名控件的问题 控件的ClientID。我把代码放在codebehind中找到了 控制的ID并为其设置Javascript。这样代码就没有了 受到表格上重新排列控件的影响。如果有更多 表单上的一个编辑器实例,只需为每个实例调用InsertEditorJS 之一。
以下是代码隐藏:
protected void Page_Load(object sender, EventArgs e)
{
TextBox qiiEditor = (TextBox) FormView1.FindControl("qiiTextBox");
Literal qiiJS = (Literal) FormView1.FindControl("qiiTextBoxJavascript");
InsertEditorJS(qiiEditor, qiiJS);
}
protected void InsertEditorJS(TextBox TextBoxCtl, Literal LiteralCtl)
{
LiteralCtl.Text = "<script type='Text/javascript'>";
LiteralCtl.Text += "CKEDITOR.replace('";
LiteralCtl.Text += TextBoxCtl.ClientID;
LiteralCtl.Text += "');</script>";
}
答案 1 :(得分:1)
这是CKEditor中的错误的结果,如http://dev.ckeditor.com/ticket/6497所述。作为一种解决方法,我只需在按钮点击上附加文字,如下所示:
$('#myBtn').click(function(){
CKEDITOR.instances._ctl0_cntBody_ctlEditView_txtDESCRIPTION.insertText('some text here');
});