我正在尝试构建一个文章系统,其中内容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,我的控制台中没有出现任何错误,但我也没有得到任何后请求,而我确实设法在不同的页面上做同样的事情,以保存文本单击保存按钮时的输入表单。
感谢您的帮助。
答案 0 :(得分:3)
您的问题出现在data-sample="1"
标记内的<script>
,这导致该标记内的脚本无法运行(这意味着div会自动获取ckeditor,并CKEDITOR.inline( content_id
。< / p>
检查一下:
<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;