在IE10、火狐浏览器、谷歌浏览器下后台KindEditor在线编辑器无法获取textarea值。
解决办法如下: (测试版本号: 4.0.6 (2012-03-18))
方法一:
<link rel="stylesheet" href="WebEditor/themes/default/default.css" />
<link rel="stylesheet" href="WebEditor/plugins/code/prettify.css" /><script charset="utf-8" type="text/javascript" src="WebEditor/kindeditor.js"></script><script charset="utf-8" type="text/javascript" src="WebEditor/lang/zh_CN.js"></script><script charset="utf-8" type="text/javascript" src="WebEditor/plugins/code/prettify.js"></script><script type="text/javascript">KindEditor.ready(function(K) { var editor1 = K.create('#Content', { cssPath : 'WebEditor/plugins/code/prettify.css', uploadJson : 'WebEditor/configs/upload_json.asp', fileManagerJson : 'WebEditor/configs/file_manager_json.asp', allowFileManager : true, afterCreate : function() { var self = this; K.ctrl(document, 13, function() { self.sync(); K('form[name=example]')[0].submit(); }); K.ctrl(self.edit.doc, 13, function() { self.sync(); K('form[name=example]')[0].submit(); }); },afterBlur: function(){this.sync();} }); prettyPrint();});</script>在默认代码里增加一条红色代码(逗号不要忘记了)
方法二:
原 KindEditor 官方指定调用参数如下,在IE浏览器6.0-7.0都是没有问题的
KindEditor.ready(function(K) {
var editor = K.create('textarea[name="content"]', { cssPath : '样式路径',uploadJson : '动态上传处理程序文件',fileManagerJson : '已上传文件管理程序文件',allowFileManager : true,afterCreate : function() { var self = this;K.ctrl(document, 13, function() { self.sync();K('form[name=myform]')[0].submit();});K.ctrl(self.edit.doc, 13, function() { self.sync();K('form[name=myform]')[0].submit();});}});prettyPrint();});红穑部分调整为以下编码 :
KindEditor.ready(function(K) {
var editor = K.create('textarea[id="content"]', { cssPath : '样式路径',uploadJson : '动态上传处理程序文件',fileManagerJson : '已上传文件管理程序文件',allowFileManager : true,afterBlur : function() { this.sync();K.ctrl(document, 13, function() { K('form[name=myform]')[0].submit();});K.ctrl(this.edit.doc, 13, function() { K('form[name=myform]')[0].submit();});}});prettyPrint();});注:当失去焦点时执行 this.sync();
关于 this.sync() 函数简单的说就是同步KindEditor的值到textarea文本域。