我在此阅读了这个职位,并试图通过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方法
我如何简单地将文本“测试”添加到我的CKEditor中?
注意:这使用的是CKEditor.NET,而不是jQuery CKEditor版本。
发布于 2013-05-28 20:04:37
这是CKEditor中的一个bug造成的,如本文所述,http://dev.ckeditor.com/ticket/6497。作为解决办法,我只需在按钮上添加文本,如下所示:
$('#myBtn').click(function(){
CKEDITOR.instances._ctl0_cntBody_ctlEditView_txtDESCRIPTION.insertText('some text here');
});发布于 2013-05-24 19:49:16
你给CKEDITOR.replace('txtDESCRIPTION')打电话了吗?
如果是这样的话,那么oEditor.setData('test')应该能做到这一点。
编辑:
看来ckeditor.net正在重命名id
来自评论中的链接
您可以通过查找控件的ClientID来解决重命名控件的问题。我将代码放在代码背后,以找到控件的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>";
}https://stackoverflow.com/questions/16742552
复制相似问题