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();

时间: 2024-10-11 09:04:18

KindEditor得不到textarea值的解决方法----摘至天涯的相关文章

KindEditor得不到textarea值的解决方法

今天在使用kindeditor的时候,竟然获取不到textarea的值,好像以前使用的时候没有遇到这个问题. 解决方法是在kindeditor调用JS代码中加入: afterBlur: function(){this.sync();} 以前使用kindeditor时候使用的代码: afterCreate : function() { var self = this; K.ctrl(document, 13, function() { self.sync(); K('form[name=artic

从客户端中检测到有潜在危险的Request.Form值的解决方法

描述:从客户端中检测到有潜在危险的Request.Form值的解决方法asp.net 2.0 通常解决办法将.aspx文件中的page项添加ValidateRequest="false"或者修改配置文件 <system.web> <pages validateRequest="false" > </pages> </system.web> 从客户端中检测到有潜在危险的Request.Form值的解决方法

BootStrap iCheck插件全选与获取value值的解决方法

这篇文章主要介绍了BootStrap iCheck插件全选与获取value值的解决方法,解决方法其实很简单,下面小编给大家分享下这方面的知识 在使用jQuery iCheck 插件的时候遇到了一个问题,就是当我们使用普通的js全选功能无效了. $("#checkall").click( function(){ if(this.checked){ $("input[name='checkname']").each(function(){this.checked=tru

【异常记录(七)】MVC:从客户端中检测到有潜在危险的 Request.Form 值 的解决方法 [转]

从客户端(Content="<EM ><STRONG ><U >这是测试这...")中检测到有潜在危险的Request.Form 值. 说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止.该值可能指示存在危及应用程序安全的尝试,如跨站点脚本攻击. 若要允许页面重写应用程序请求验证设置,请将 httpRuntime 配置节中的 requestValidationMode 特性设置为requestValidationMode=&qu

ashx页面 “检测到有潜在危险的 Request.Form 值”的解决方法(控制单个处理程序不检测html标签)

如题: 使用web.config的configuration/location节点. 在configuration节点内新建一个location节点,注意这个节点和system.webserver那些是平级节点 然后使用location/@path 来指定某个单独的文件,这个文件可以是aspx也可以是ashx,更加可以是Razor模板的cshtml(当然MVC有Unvalidated方法,用不到这样), 然后在location下面配置page和httpruntime(4.0)节的属性就OK了.这

bootstrap iCheck插件 全选和获取value值的解决方法

在使用jQuery iCheck 插件的时候遇到了一个问题,就是当我们使用普通的js全选功能无效了. $("#checkall").click(     function(){         if(this.checked){             $("input[name='checkname']").each(function(){this.checked=true;});         }else{             $("input[

javascript使用for循环批量注册的事件不能正确获取索引值的解决方法

今天遇到一个问题,那就是当使用for循环批量注册事件处理函数,然后最后通过事件处理函数获取当前元素的索引值的时候会失败,先看一段代码实例: <script type="text/javascript"> window.onload=function(){ var oLis=document.getElementsByTagName("li"); var oshow=document.getElementById("show"); fo

从客户端中检测到有潜在危险的Request.Form值 的解决方法

在提交表单时候,asp.net 提示:"从客户端(......)中检测到有潜在危险的 Request.Form 值" .asp.net中的请求验证特性提供了某一等级的保护措施防止XSS攻击,asp.net的请求验证是默认启动的.这个给出各个版本.net的解决方法. asp.net 2.0 通常解决办法 方案一: 将.aspx文件中的page项添加ValidateRequest="false" ,如下: <%@ Page ValidateRequest=&quo

DataGridViewComboBoxColumn值无效解决方法

值无效,可能是你下拉框选项,没有这样的值,而你却设置这个值. dataGridView1.Rows[i].Cells[1].Value?=?"选项一"; 解决方法就是在窗体的构造函数里添加如下代码: this.dataGridView1.DataError?+=?delegate(object?sender,?DataGridViewDataErrorEventArgs?e)?{?}; 1.必须确定,给DataVridView赋值,是在DataGridViewComboBox已经绑定了