洪哥最近在调一个使用JQuery来获取Web编辑器的字段时被坑了。编辑器是KindEditor,直接都感觉很不错,很好用!但它修改后的数据就是无法被Jquery获取到,每天获取都是第一次打开时编辑器中的内容。如果一开始编辑器就没有内容,那jquery只能获取到一个空值。
有没有什么办法能解决jquery无法获取KindEditor修改后的内容呢?在网上找来找去,最后经过洪哥的实践,如下方法是靠谱的。
下面这段JavaScript代码是正常创建KindEditor的代码:
<script>
KindEditor.ready(function(K) {
var kindEditor1 = K.create('textarea[name="mycontent"]', {
cssPath : '/config/kindeditor/plugins/code/prettify.css',
uploadJson : '/config/kindeditor/asp/upload_json.asp',
fileManagerJson : '/config/kindeditor/asp/file_manager_json.asp',
allowFileManager : true
});
prettyPrint();
});
</script>
我们在create函数的第二个参数中加入一个元素:
afterBlur: function(){this.sync();}
这个语句的作用是同步编辑器和textarea之间的值。最终的代码如下:
<script>
KindEditor.ready(function(K) {
var kindEditor1 = K.create('textarea[name="mycontent"]', {
cssPath : '/config/kindeditor/plugins/code/prettify.css',
uploadJson : '/config/kindeditor/asp/upload_json.asp',
fileManagerJson : '/config/kindeditor/asp/file_manager_json.asp',
allowFileManager : true,
afterBlur: function(){this.sync();}
});
prettyPrint();
});
</script>
这样就可以通过JQuery来获取KindEditor编辑后的值了。
其实之前是错怪Jquery了,如果不加sync()那句,普通的JavaScript代码也是获取不到编辑器修改后的值的。
关于kindeditor文本框中修改后的内容无法通过jquery获取,本文就介绍这么多,希望对您有所帮助,谢谢!