javascript将文本从元素复制到textarea

时间:2013-08-15 13:05:39

标签: php javascript jquery ckeditor inline

我正在使用CKEditor Inline mod,我正在尝试将其保存到数据库中。我对从元素到textarea的复制文本有所了解。我有元素div#textToBeSaved,我希望立即将此元素中的所有文本复制到名称为content的textarea中。

部首:

  <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 元素中的所有内容保存到数据库中并保存实际数据。

感谢您的帮助。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

顺便说一下CKEDITOR.instances.textToBeSaved.getData();未定义。我认为这是因为元素textToBeSaved未定义为可编辑。但我无法将其标记为可编辑,因为我不想在此元素中使所有内容都可编辑。这是一张图片LINK

有什么想法吗?

答案 2 :(得分:0)

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