我已经使用CKEditor的V3几周在PHP project.i've ago.using它开始一直在使用它与jQuery(使用jQuery适配器),并使用$阿贾克斯(而所有这一切,因为使用jQuery的时候不能错误处理形式)提交,我想一切都正常的。
因此,这里弹出,我需要使用正常形成机制提交CKEditor的内容和形式的所有其他信息的情况。
令我吃惊的内容是空的,所以我开始了谷歌,显然这是一个已知的问题。 我还没有看到任何东西然而,这可以让我发表我的内容到PHP端。 所以我想出了一个解决方法。
我知道的onclick所以我写这将始终的onsubmit之前进行发射。
function returntoSubmit(){
myForm = document.forms[0];
myForm.elements["content"].value = $("#content").val();// note that the textarea name and id are all the same "content"
}
// html here
<input type="submit" value="Save" onclick="returntoSubmit()" />
,做真正为me.But的工作以及与此有点不舒服,是不是有什么更好的方法来解决这个问题?
谢谢
我正在与一些讨厌的遗留代码的大型应用程序和需要的东西,在整个应用担任非侵入性越好。 在我的情况下,它不是单独监听每一页上的提交可行的,甚至当我做我偶尔有竞争条件,其中点击事件代码有机会做的事情之前提交仍时有发生。 下面,似乎这样的伎俩对我来说,当在全球范围内的页面加载后跑:
for(var i in CKEDITOR.instances) {
CKEDITOR.instances[i].on('blur', function() { this.updateElement(); });
}
愿这帮助
CKEDITOR.instances[content].getData()
刚跑过这个问题太...似乎更新所有文字区域最好的方法是:
for(var i in CKEDITOR.instances) CKEDITOR.instances[i].updateElement();
http://cksource.com/forums/viewtopic.php?f=11&t=15877
其实我已经加了我自己扭曲的作品很好,因为我是今天有麻烦了同样的问题。
我用了你的函数调用,而是为此,我给我的textarea的CKEditor的ID:
function returnToSubmit() {
$('#ckeditor').val(CKEDITOR.instances['ckeditor'].getData();
}
我在各种形式的一个jQuery ready事件中使用这样的:
$('form').on('submit',function(){
for(var i in CKEDITOR.instances) {
CKEDITOR.instances[i].updateElement();
}
});
后来我想补充另一个特定的形式提交事件处理程序做实际的自定义提交逻辑为每个表单。
文章来源: CKEditor submitting empty content to the form.