0

これに関するこの投稿を読み、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に追加するにはどうすればよいですか?

注: これは、jQuery CKEditor バージョンではなく、CKEditor.NET を使用します。

4

2 に答える 2

1

もう電話しまし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>";
}
于 2013-05-24T19:49:16.753 に答える