如何在ckeditor中设置文本

时间:2013-02-10 14:46:55

标签: ckeditor ckfinder

如何在CKEditor中设置文字? CKEditor还需要与ckfinder集成。

我试过

//我需要在后面的代码中设置ckeditor文本。为了从代码bhind获得该值,我使用了一个div,它将在代码后面设置。目前尚未隐藏,但我最终会这样做。我需要将此值设置为我的ckeditor。

 
    <textarea id="editor1" name="editor1"></textarea>
        <script type="text/javascript">
            window.onload = function () {

                    var edt = CKEDITOR.replace('editor1', { toolbar: 'Basic' });
 CKFinder.setupCKEditor(edt, '/ckfinder/');

                    var t = <%=editortext.InnerText %>;


                    CKEDITOR.instances.editor1.setData(t);

            }

如果我为t添加一些静态文本,var t =“Some Text”;

然后设置

CKEDITOR.instances.editor1.setData(T);它工作正常。

如果我使用,

var t = <%=editortext.InnerText %>;


                    CKEDITOR.instances.editor1.setData(t);

ckeditor不再显示。仅显示文本区域。如何在ckeditor中设置文本?请帮忙

4 个答案:

答案 0 :(得分:8)

此语法在此处可能很有用:

CKEDITOR.instances['editor1'].setData(t); // where editor1 is id

或试试这个

edt.setData(t);

答案 1 :(得分:1)

<script>
     function SetContents(value ) {

        var oEditor =  CKEDITOR.instances.MainContent_editor1;       
        var t = document.getElementById('<%=editor1.ClientID %>').value ;
        oEditor.setData(t); 

     } 

 </script>


<script type="text/javascript">

                var ckEditor = CKEDITOR.replace('<%=editor1.ClientID %>', {

                    //               extraPlugins: 'bbcode',
                    //               fullPage : true,
                    extraPlugins: 'docprops',
                    removeDialogTabs: 'image:advanced',
                    filebrowserImageUploadUrl: 'Upload.ashx',
                    resize_enabled: false,


                    toolbar: [

                ['Source', '-', 'Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', 'Unlink'],

                ['FontSize', 'TextColor', 'BGColor'],

                ['Image']

            ]

                });
                var oEditor = CKEDITOR.instances.MainContent_editor1;
                var t = document.getElementById('<%=editor1.ClientID %>').value;
                oEditor.setData(t);

                function pageLoad() { // this is because after postback jquery not working

                            var instance = CKEDITOR.instances['<%=editor1.ClientID %>'];


                    if (instance) {
                        CKEDITOR.remove(ckEditor);
                    }
                    CKEDITOR.replace('<%=editor1.ClientID %>', {

                        //               extraPlugins: 'bbcode',
                        //               fullPage : true,
                        extraPlugins: 'docprops',
                        removeDialogTabs: 'image:advanced',
                        filebrowserImageUploadUrl: 'Upload.ashx',
                        resize_enabled: false,
                        toolbar: [

                ['Source', '-', 'Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', 'Unlink'],

                ['FontSize', 'TextColor', 'BGColor'],

                ['Image']

            ]

                    });

                    var oEditor = CKEDITOR.instances.MainContent_editor1;
                    var t = document.getElementById('<%=editor1.ClientID %>').value;
                    oEditor.setData(t);

                    }

 </script>

答案 2 :(得分:0)

首先检查浏览器的控制台是否有错误。还要观察从后端代码渲染到此模板中的内容。您最不可能缺少的是引号""和/或您渲染的字符串包含未转义的撇号/ quot。标记。

控制台就是一切。

答案 3 :(得分:0)

这篇文章引用旧,但我希望其他人看到这一点并不太晚:

您忘了用引号括起服务器端代码:

  

var t =“&lt;%= editortext.InnerText%&gt;”;

页面将呈现如下:

var t = "your text here";

而不是

  

var t =这里的文字;

使用你的代码肯定会打破javascript的解析器