发布CKEditor内容

时间:2011-12-09 01:41:09

标签: jquery xml ajax post ckeditor

我有一个网页表单,我是$ .posting包含一个CKEditor textarea。

    $(document).ready(function() {

        CKEDITOR.replace('html');
        CKEDITOR.config.htmlEncodeOutput = true; //seems to have no effect

        $('#save').click(function() {            

            $.post('/async.php?a=save-slide', $('#slideForm').serialize(),
            function(json) {
                console.log(json);
            }, 'json');
        });            
    });

我有两个问题:

  1. .serialize()未获取CKEditor内容。如果我是console.log 序列化字符串,html =为空。
  2. 如果我使用CKEditor getData()方法并且POSTed内容中有一个&符号(),我的脚本会中断,因为它正在进行基于XML的API调用。
  3. 关于如何获取内容并安全地发布xml友好数据的任何想法?

1 个答案:

答案 0 :(得分:1)

我使用以下通用方法将ckeditor内容移回其附加的文本区域:

   var $editors = $("textarea.editor");
   if ($editors.length) {
       $editors.each(function () {
           var instance = CKEDITOR.instances[this.id];
           if (instance) { $(this).val(instance.getData()); }
       });
   }

如果您的情况更简单,则无需循环。

还有一个jquery帮助器,对于这类事情很方便。