zoukankan      html  css  js  c++  java
  • KindEditor得不到textarea值的解决方法

    以前有朋友遇到过这个问题,就是KindEditor在火狐下或者其他浏览器下都无法得到textarea文本框的值,点击表单提交按钮得到的是空白。昨天天涯PHP博客[http://blog.phpha.com]也无意遇到这个问题,于是想认真找下原因。
    首先描述下我这边KindEditor的错误现象:
    1、在IE8/FF下均得不到值;
    2、当点击KindEditor的全拼按钮切换到全屏模式输入时,再返回正常模式,可以得到值;
    3、我用的是jQuery的点击事件提交表单的,提交,无法得到值;
    4、直接用表单的提交按钮可以得到值。

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    <script type="text/javascript">

    //天涯PHP博客 http://blog.phpha.com

    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文本框。
    官方解释:
    //天涯PHP博客 http://blog.phpha.com
    sync()
    将编辑器的内容设置到原来的textarea控件里。
    参数: 无
    返回: KEditor
    地址:http://www.kindsoft.net/docs/editor.html#sync

    补充:在 KindEditor 4.x 版本中,KE.sync(); 要改成 this.sync();

    JS提交时可用:

    在js提交form之前加一句话document.getElementById("content1").value=KE.util.getData('content1');


    原文地址:http://www.jianfangkk.com/webdesign/201609/326

  • 相关阅读:
    在关闭窗体时弹出对话框
    使应用程序在进程中消失
    禁用窗口上的关闭按钮
    洛谷P1080 国王游戏
    洛谷P1443 马的遍历
    算法竞赛入门经典第二版 随笔1
    AcWing 794. 高精度除法
    AcWing 793. 高精度乘法
    AcWing 792. 高精度减法
    AcWing 791. 高精度加法
  • 原文地址:https://www.cnblogs.com/jianfangkk/p/6030219.html
Copyright © 2011-2022 走看看