我正在使用CKEditor Inline mod,我正在尝试将其保存到数据库中。我对从元素到textarea的复制文本有所了解。我有元素div#textToBeSaved
,我希望立即将此元素中的所有文本复制到名称为content
的textarea中。
部首:
<script type="text/javascript" src="/administration/aditional/ckeditor/ckeditor.js"></script>
<script type="text/javascript">
setTimeout(function() { copyText(); },500);
function copyText() {
var data = CKEDITOR.instances.textToBeSaved.getData();
document.getElementsByName("content")[0].value = data;
}
</script>
文本:
<div id="textToBeSaved">
<div id="content-full">
<div class="container">
{P_CONTENT}
</div>
</div>
</div>
<textarea name="content"></textarea>
{P_CONTENT}
在PHP中解析。例如,{P_CONTENT}
会返回<p contenteditable='true'>hello world</p>
我只需要将 #textToBeSaved 元素中的所有内容保存到数据库中并保存实际数据。
感谢您的帮助。
答案 0 :(得分:0)
如果您的CKEditor的ID为textToBeSaved
,那么此代码将为您获取CKEditor的内容并将其复制到您的content
元素中:
<script>
setTimeout(function() { copyText(); },500);
function copyText() {
var data = CKEDITOR.instances.textToBeSaved.getData();
document.getElementsByName("content")[0].value = data;
}
</script>
http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-getData
答案 1 :(得分:0)
顺便说一下CKEDITOR.instances.textToBeSaved.getData();未定义。我认为这是因为元素textToBeSaved未定义为可编辑。但我无法将其标记为可编辑,因为我不想在此元素中使所有内容都可编辑。这是一张图片LINK
有什么想法吗?
答案 2 :(得分:0)
您需要使用您正在编辑的元素的id(具有contentEditable属性的元素)。如果你提到别的东西,很明显它无法运作。