设计主页 > 网站制作 > 建站经验 >

kindeditor编辑器获取不到textarea值的解决方法

设计前沿 / 佚名 时间:2017-04-13 09:00
今天在使用kindeditor编辑器时发现在获取textarea值的时候,从数据库读出来的值都能获取到,但是新输入的值就得不到,只要是新输入的都得不到值.
因为程序用到js判断textarea是否为空,结果总是得不到textarea值,在kindeditor官网看了说是要加
kindeditor编辑器我取不到编辑器数据,直接取得textarea的value也没用。

KindEditor的可视化操作在新创建的iframe上执行,代码模式下的textarea框也是新创建的,所以最后提交前需要执行 sync() 将HTML数据设置到原来的textarea。

KindEditor在默认情况下自动寻找textarea所属的form元素,找到form后onsubmit事件里添加editor.sync()函数,所以用form方式提交数据,不需要手动执行editor.sync()函数。

// 将编辑器的HTML数据同步到textarea
editor.sync();

// 将编辑器的HTML数据同步到textarea editor.sync();

加了editor.sync();代码还是得不到值。

只好百度了一下才知道解决方案
以下是找到的解决方案,总算解决了

我昨天刚用kindeditor,我是使用ajaxForm提交表单的在360浏览器下获取textarea没问题,可在火狐浏览器下却获取不到值,后来我添加 了afterBlur:function(){this.sync();}   火狐才获取到值!

我的kindeditor创建代码如下:

KindEditor.ready(function(K) {

     editor = K.create('textarea[name="content"]', { 
        cssPath : '../kindeditor/plugins/code/prettify.css', 
        uploadJson : '../Kindeditor/KEupload', 
        fileManagerJson : '../kindeditor/php/file_manager_json.php', 
        allowFileManager : true,    
        afterCreate : function() { 
         this.sync(); 
        }, 
        afterBlur:function(){ 
            this.sync(); 
        }                 
    });