KindEditor得不到textarea值的解决方法

以前有朋友遇到过这个问题,就是KindEditor在火狐下或者其他浏览器下都无法得到textarea文本框的值,点击表单提交按钮得到的是空白。昨天我也无意遇到这个问题,于是想认真找下原因。

首先描述下我这边KindEditor的错误现象:1、在IE8/FF下均得不到值;2、当点击KindEditor的全拼按钮切换到全屏模式输入时,再返回正常模式,可以得到值;3、我用的是jQuery的点击事件提交表单的,提交,无法得到值;4、直接用表单的提交按钮可以得到值。

下面以 KindEditor 4.x 版本为例说明,先贴上正确的代码:

<script type="text/javascript">

KindEditor.ready(function(K){

K.create('textarea[name="content"]', {

themeType: 'simple',

resizeType: 1,

uploadJson: 'common/KEditor/upload_json.php',

fileManagerJson: 'common/KEditor/file_manager_json.php',

allowFileManager: true,

//经测试,下面这行代码可有可无,不影响获取textarea的值

//afterCreate: function(){this.sync();}

//下面这行代码就是关键的所在,当失去焦点时执行 this.sync();

afterBlur: function(){this.sync();}

});

});

</script>

相关说明:从上面的代码可以看到,解决方法在于最后一行代码,afterBlur: function(){this.sync();},当失去焦点时执行 this.sync();那么这个 this.sync(); 函数是干嘛的呢?简单的说:这个函数就是同步KindEditor的值到textarea文本框。

本文章由 brokenway 发布在 个人知识库 ,文章所述不代表本站观点,法律风险由发布者自行承担,转载请注明出处!
(0)
brokenway的头像brokenway
上一篇 2018年5月22日 11:00
下一篇 2018年5月28日

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注