编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

ASP.NET获取kindeditor 编辑器数据

wxchong 2024-06-17 22:24:11 开源技术 14 ℃ 0 评论

ASP.NET取不到kindeditor 编辑器数据,直接取得textarea的value也无法取到

用ASP.NET做一个内容管理系统,很简单的一个项目,应该没有什么问题,但是在做到文本编辑器的时候确实把我给难住了,我花了好长时间在网上搜资料,最终选用了KindEditor文本编辑器,这个比FCKEditor文本编辑器轻巧,而且也不用很进行很麻烦的参数配置,直接从官网上下载文件包,解压一下,里面有asp,asp.net,php,jsp的应用实例,用过之后感觉确定蛮好的,很轻巧也很灵活,可以说完全满足了我的需求,本来以为万事大吉了,可是在获取value值的时候,突然间发现在后台取不到textarea的值,纠结很长时间最终解决,下面是摘自官网的一段说明文档:

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

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

然后我又仔细看了看附带的实例,终于找到了问题所在,以下代码基本上就是官方给出的源码,就是增加了一个事件,然后一切搞定,终于可以在后台通过this.txtWb.value获取到文本编辑器的值了

<script type="text/javascript" language="javascript">

KindEditor.ready(function (K) {

var editor1 = K.create('#NewsContent', {

cssPath: 'kindeditor/plugins/code/prettify.css',

uploadJson: '../../Handler/Upload.ashx',

fileManagerJson: '../../Handler/FileManager.ashx',

allowFileManager: true,

afterCreate: function () {

var self = this;

K.ctrl(document, 13, function () {

self.sync();

K('form[name=formCreateDocument]')[0].submit();

});

K.ctrl(self.edit.doc, 13, function () {

self.sync();

K('form[name=formCreateDocument]')[0].submit();

});

$('#lbtnSubmit').click(function () {

self.sync();

});

}

});

prettyPrint();

});

</script>

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表