【问题标题】:Can't $_POST with ckeditor无法使用 ckeditor 进行 $_POST
【发布时间】:2016-10-30 16:20:30
【问题描述】:

我在使用 CKEDITOR 时遇到了问题,我希望你能帮助我。

我在表单标签中有这段代码:

        <div class="column column-1">
            <h3>Content</h3>
            <textarea id="editor1" name="editor1" type="text"></textarea>
        </div>

我应用了下一个 javascript 来使 ckeditor 工作:

CKEDITOR.replace("editor1"); 

到目前为止,编辑器在我的浏览器中显示得非常好,我可以输入它和所有好东西。

现在我尝试使用 PHP 来处理它:

echo $_POST['editor1'];

如果用户提交表单,它应该回显editor1 问题是它没有发生。我试图运行多个测试,但它只是没有向我显示任何东西。如果我对普通的 textarea(不是 ckeditor 的)做同样的事情,那么标准的 textarea 就可以了。当我使用 ckeditor 执行此操作时,它不会工作。

【问题讨论】:

    标签: javascript php html


    【解决方案1】:

    我自己也遇到过这个问题,我不确定我的解决方案是否是“最佳实践”,但它似乎确实可以正常工作。

    我所做的是在启动编辑器时添加一个选项设置,以在“更改时”捕获输入内容并将其添加到您的原始文本区域(ckeditor 在启动之前将“隐藏”)。

    代码:

    CKEDITOR.replace( 'editor1', {
            on : { 
                change: function ( evt )  {
                  $('textarea[name="editor1"]').html(evt.editor.getData());
                }
            }
    }); 
    

    注意更新隐藏文本区域的“更改”事件侦听器。

    或者,您应该能够在提交表单时使用getData() 函数来检索编辑器内容(例如,如果您正在使用 ajax 等)。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-12
      • 1970-01-01
      • 2022-07-07
      • 2014-10-31
      相关资源
      最近更新 更多