在我的网站上,我有一个CKEDITOR来发布内容。当你切换如下所示的页面时,我已经构建了一个自动保存功能:
var oEditor = CKEDITOR.instances.text;
var content = oEditor.getData();
$('#form #text').html(content);
$.post("news/save/" + id + "/" + page, $("#form").serialize());
这将获取编辑器的当前内容,将其放置在textarea中(它并不总是自动显示)。然后序列化整个表单并将其发布到我网站的保存页面。
除了将youtube代码放在编辑器中之外,这是有效的。打印出以下作品没有任何问题(在设置内容后):
alert($('#form #text').html());
这只会使用youtube代码打印实际内容。但是当调用.serialize()函数时,内容变为空。
alert($('#form #text').serialize());
这只会打印:“text =%0A”。
有人可以帮我解决这个问题,或建议另外一种方法将表单的内容发布到保存页面吗?
谢谢。
答案 0 :(得分:3)
#text是textarea吗?如果它是那么你应该使用val()方法来设置值而不是html(),因为val()应该用于设置/获取表单元素的值。
答案 1 :(得分:0)
您应该调用编辑器的同步过程,该过程将编辑器内容与textarea的值同步。 之后,该值也可用于序列化。