-2

当我尝试在我的 CKEditor textarea 中添加一些 HTML 代码时遇到问题,我的 HTML 在 textarea 中执行。我的意思是,我所有的 HTML 代码在我的 Textarea 中的位置都发生了变化,那么我该如何解决呢?

在我的网站上添加帖子之前,我把它放在我的 textarea 中:

<pre><div>toto</div></pre>

我数据库中的帖子(一切正常):

<pre><div>toto</div></pre>

当我尝试编辑帖子时,内容会在我的 CKEditor textarea 中重新格式化:

<pre>&nbsp;</pre><div>toto</div>

所以我认为主要问题是CKEditor,也许他重新格式化或编码我所有的HTML代码,我不知道发生了什么......

编辑1:

CKEditor的配置文件

CKEDITOR.editorConfig = function( config ) {
    config.toolbarGroups = [
        { name: 'clipboard',   groups: [ 'clipboard', 'undo' ] },
        { name: 'editing',     groups: [ 'find', 'selection', 'spellchecker' ] },
        { name: 'links' },
        { name: 'insert' },
        { name: 'forms' },
        { name: 'tools' },
        { name: 'document',    groups: [ 'mode', 'document', 'doctools' ] },
        { name: 'others' },
        '/',
        { name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },
        { name: 'paragraph',   groups: [ 'list', 'indent', 'blocks', 'align' ] },
        { name: 'styles' },
        { name: 'colors' },
        { name: 'about' },
        { name: 'document', groups: [ 'mode'] }, // shows the source button
        { name: 'pbckcode' }
    ];

    config.extraPlugins = 'pbckcode';

    config.removeButtons = 'Underline,Subscript,Superscript';
};

我的添加帖子视图:

extends admin_layout
block content
    div.container
        h1 Wellcome to administration pannel
        div.space20
        div.block.first
            h2 Add post
            div.wrap
                form(action="/posts/add", method="post").admin
                        textarea(class="ckeditor", id="ckeditorFilter", placeholder="Content...", name="content", rows="15")
                        br
                    input(type="submit", value="Save")
    script(src="/admin/js/ckeditor/ckeditor.js")
    script
        CKEDITOR.replace('content',{
            toolbar: 'Basic',
            uiColor: '#0091BD'
        });

我的编辑帖子视图:

extends admin_layout
block content
    div.container
        h1 Wellcome to administration pannel
        div.space20
        div.block.first
            h2 Edit post
            div.wrap
                - each p in post
                    p= p.content
                    form(action="/posts/add", method="post").admin
                            textarea(class="ckeditor", id="ckeditorFilter", placeholder="Your content...", name="content", rows="15", required)!= p.content
                            br
                        input(type="submit", value="Edit")
    script(src="/admin/js/ckeditor/ckeditor.js")
    script
        CKEDITOR.replace('content',{
            toolbar: 'Basic',
            uiColor: '#0091BD'
        });
4

1 回答 1

1

我已经在这里回答了你的问题:在 CKEditor textarea 中插入 HTML 代码

将内容写入文本区域时,您对内容进行了错误编码。

于 2013-05-02T09:18:57.357 回答