KindEditor下,JQuery submit方法获取不到textarea内容的解决方案

最近碰到个小问题,如题,在富文本编辑器KindEditor下,用JQuery触发submit函数提交表单时,textarea的值获取不到,想了好半天没找到原因,去官网看了下,还真有解决方案。

KindEditor常见问题

如官网所说,我们可以在提交前主动调用editor.sync()方法,将内容同步到隐藏的原textarea中。

如下代码:

for (i in KindEditor.instances) {
    KindEditor.instances[i].sync()
}

KindEditor.instances是当前页面的所有editor对象,这样可以把所有的textarea都进行同步。

最新版本可以直接调用K.sync(expr)

注意点

有一点需要注意的是调用了sync方法后,在源代码里查看原textarea的内容也是没有更新的

还有就是网上大多数的解决方案都是在初始化参数中添加如下代码:

K.create('#id', {
    afterBlur: function () {
        this.sync();
    }
});

这种方法也是可以的,但是我的场景在提交的时候同步即可,并不需要实时同步,多种方案可以酌情选择。

(完)