0

我正在使用 CKEditor Inline mod,我正在尝试将其保存到数据库中。我有一个关于将文本从元素复制到文本区域的想法。我有元素div#textToBeSaved,我想立即将此元素中的所有文本复制到带有名称的 textarea 中content

标题:

  <script type="text/javascript" src="/administration/aditional/ckeditor/ckeditor.js"></script>
  <script type="text/javascript">
    setTimeout(function() { copyText(); },500);

    function copyText() {    
        var data = CKEDITOR.instances.textToBeSaved.getData();
        document.getElementsByName("content")[0].value = data;
    }
  </script>

文本:

    <div id="textToBeSaved">
     <div id="content-full">
      <div class="container">
       {P_CONTENT}
      </div>
     </div>
    </div>
    <textarea name="content"></textarea>

{P_CONTENT}在 PHP 中解析。例如{P_CONTENT}退货<p contenteditable='true'>hello world</p>

我只需要将元素#textToBeSaved中的所有内容与实际数据一起保存到数据库中。

谢谢你的帮助。

4

3 回答 3

0

您需要使用正在编辑的元素的 id(具有 contentEditable 属性的元素)。如果你提到别的东西,很明显它是行不通的。

于 2013-08-17T12:24:32.293 回答
0

顺便说一句 CKEDITOR.instances.textToBeSaved.getData(); 未定义。我认为这是因为元素 textToBeSaved 未定义为可编辑。但我不能将其标记为可编辑,因为我不想让该元素中的所有内容都可编辑。这是图片链接

请问有什么想法吗?

于 2013-08-17T11:45:18.767 回答
0

如果您的 CKEditor 的 id 为 ,textToBeSaved则此代码将为您获取 CKEditor 的内容并将它们复制到您的content元素中:

<script>
    setTimeout(function() { copyText(); },500);

    function copyText() {    
        var data = CKEDITOR.instances.textToBeSaved.getData();
        document.getElementsByName("content")[0].value = data;
    }
</script>

http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getData

于 2013-08-15T13:22:02.280 回答