使用ckeditor内联编辑后,没有运气保存数据

时间:2016-10-10 17:22:09

标签: javascript php jquery ajax ckeditor

我正在尝试构建一个文章系统,其中内容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,我的控制台中没有出现任何错误,但我也没有得到任何后请求,而我确实设法在不同的页面上做同样的事情,以保存文本单击保存按钮时的输入表单。

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

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

检查一下:

&#13;
&#13;
<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>
&#13;
&#13;
&#13;