我正在尝试构建一个文章系统,其中的div可以使用ckeditor进行内联编辑。内容div的数量是可变的,因此文章有两个div:

<div id="content_11439" contenteditable="true">Click to edit.</div>
<div id="content_11440" contenteditable="true">Click to edit.</div>


现在,我已经浏览了这些论坛,并尝试将一些答案合并到我的解决方案中,以将文本保存到数据库中。内联编辑部分起作用,ckeditor显示并且可以编辑,但是似乎我的代码没有被发送到php文件,一旦我单击页面上的其他位置并ckeditor关闭,该文件应该保存它。

以下代码来自这些论坛:

<script type="template" data-sample="1">

CKEDITOR.disableAutoInline = true;

$("div[contenteditable='true']" ).each(function( index ) {

    var content_id = $(this).attr('id');

    CKEDITOR.inline( content_id, {
        on: {
            blur: function( event ) {
                var data = event.editor.getData();

                var request = jQuery.ajax({
                    url: "http://www.xxxxxx/saveTextDetails.php",
                    type: "POST",
                    data: {
                        content : data,
                        content_id : content_id
                    },
                    dataType: "html"
                });

            }
        }
    } );

});




jQuery已加载,我的控制台没有任何错误,但是我也没有收到任何后期请求,尽管我确实设法在不同页面上进行了相同的操作,但仍将文本保存在输入表单中单击保存按钮时。

谢谢您的帮助。

最佳答案

您的问题出在data-sample="1"标记内的<script>,导致该标记内的脚本无法运行(这意味着div通过CKEDITOR.inline( content_id自动获得了ckeditor。

检查一下:



<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script src="http://cdn.ckeditor.com/4.4.7/standard/ckeditor.js"></script>

<div id="content_11439" contenteditable="true">Click to edit.</div>
<div id="content_11440" contenteditable="true">Click to edit.</div>
<script>
  CKEDITOR.disableAutoInline = true;
  $("div[contenteditable='true']" ).each(function( index ) {
    var content_id = $(this).attr('id');
    CKEDITOR.inline( content_id, {
      on: {
        blur: function( event ) {
          var data = event.editor.getData();
          alert("Sending: " + data)
          /*
          var request = jQuery.ajax({
            url: "http://www.xxxxxx/saveTextDetails.php",
            type: "POST",
            data: {
              content : data,
              content_id : content_id
            },
            dataType: "html"
          });
          */
        }
      }
    } );
  });
</script>

09-04 16:24
查看更多