Javascript 使用ckeditor内联编辑后无法保存数据

Javascript 使用ckeditor内联编辑后无法保存数据,javascript,php,jquery,ajax,ckeditor,Javascript,Php,Jquery,Ajax,Ckeditor,我正在尝试构建一个文章系统,在这个系统中,可以使用ckeditor内联编辑content div。内容div的数量是可变的,因此一篇文章有两个div: <div id="content_11439" contenteditable="true">Click to edit.</div> <div id="content_11440" contenteditable="true">Click to edit.</div> 单击进行编辑。 单击以进行

我正在尝试构建一个文章系统,在这个系统中,可以使用ckeditor内联编辑content div。内容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"
                });

            }
        }
    } );

});

CKEDITOR.disableAutoInline=true;
$(“div[contenteditable='true'])。每个(函数(索引){
var content_id=$(this.attr('id');
CKEDITOR.inline(内容\u id{
关于:{
模糊:功能(事件){
var data=event.editor.getData();
var request=jQuery.ajax({
url:“http://www.xxxxxx/saveTextDetails.php",
类型:“POST”,
数据:{
内容:数据,,
content\u id:content\u id
},
数据类型:“html”
});
}
}
} );
});

Jquery已加载,我在控制台中没有收到任何错误,但我也没有收到任何post请求,而我确实在不同的页面上执行了相同的操作,在单击保存按钮时将文本保存在输入表单中


感谢您的帮助。

您的问题是
标记内的
data sample=“1”
,这导致该标记内的脚本无法运行(这意味着divs自动获得了ckeditor,并通过
ckeditor.inline(content\u id
)获得了ckeditor

选中此项:


单击以进行编辑。
单击以进行编辑。
CKEDITOR.disableAutoInline=true;
$(“div[contenteditable='true'])。每个(函数(索引){
var content_id=$(this.attr('id');
CKEDITOR.inline(内容\u id{
关于:{
模糊:功能(事件){
var data=event.editor.getData();
警报(“发送:”+数据)
/*
var request=jQuery.ajax({
url:“http://www.xxxxxx/saveTextDetails.php",
类型:“POST”,
数据:{
内容:数据,,
content\u id:content\u id
},
数据类型:“html”
});
*/
}
}
} );
});

非常感谢@dekel此脚本几乎可以正常工作。单击字段(而不是第一个字段)时,我收到此ckeditor错误:“编辑器实例“xxxx”已附加到提供的元素”.有什么线索吗?@simo我写这个答案已经很久了,你能提供一个问题的工作示例吗?JSFIDLE会很好。你的问题是代码在页面中的位置。你需要确保在加载ckeditor脚本之前加载此代码。以下是更新:注意javascript配置中的更改-加载无包装在
中。我明天会看一看。再次感谢您指出这一点!