文本框中修改后的内容无法通过jquery获取的解决方法
下面这段JavaScript代码是正常创建KindEditor的代码:
[代码]xml代码:
我们在create函数的第二个参数中加入一个元素:
afterBlur: function(){this.sync();}
这个语句的作用是同步编辑器和textarea之间的值。最终的代码如下:
样就可以通过JQuery来获取KindEditor编辑后的值了。
其实之前是错怪Jquery了,如果不加sync()那句,普通的JavaScript代码也是获取不到编辑器修改后的值的。
afterBlur: function(){this.sync();
这一句的作用:当失去焦点时执行 this.sync();
这个函数作用是同步KindEditor的值到textarea文本框。
官方文档解释:
sync()
将编辑器的内容设置到原来的textarea控件里。
KindEditor编辑器Ajax表单提交时获取不到值
今天在整合SpringMVC+mybatis后台项目时用了KindEditor富文本框编辑器,最后提交时无法获取值,最后百度了很久终于解决了这个问题,直接在创建编辑器的时候需要使用sync()去同步HTML数据,最终代码如下:
var editor;
KindEditor.ready(function(K) {
editor = K.create('textarea[name="content"]', {
resizeType : 1,
allowPreviewEmoticons : false,
allowImageUpload : false,
afterBlur: function () { this.sync(); },
items : [
'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold', 'italic', 'underline',
'removeformat', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist',
'insertunorderedlist', '|', 'emoticons', 'image', 'link']
});
});
多了一行同步数据项:
afterBlur: function () { this.sync(); },