欢迎来到代码驿站!

jquery

当前位置:首页 > 网页前端 > jquery

jQuery读取和设定KindEditor值的方法

时间:2021-08-27 10:00:03|栏目:jquery|点击:

在使用Kindeditor的时候,想要利用Ajax传值,但是通过editor封装的方法是行不通的,原因在于编辑器我们是放在另一个jsp页面,通过iframe来加载的,同时这个iframe的display="none"的,要通过一个事件来触发。

复制代码 代码如下:

<iframe src="../common/editor.jsp" frameborder="0" scrolling="no" style="margin: 0"
    width="100%" height="300" name="zwFrame" id="zwFrameId"></iframe>

既然原本方法行不通,那我就只好通过jQuery来获取了。首先我想到的是读取内容“textarea”里面的内容,即:$(“#editor”).html(),但是这样是获取不到的。于是我想通过获取iframe里面的内容来获取,也没有获取到,最后通过firefox的debug查看找到最终结果:


从上面这个图中可以看出,要获取“今天天气很好”这个内容,我们只需要获取指定body里面的内容即可。
处理流程:首先获取最外层的iframe,通过iframe取里面的子元素iframe,在进入一层取里面的body即可。如下:

复制代码 代码如下:

var editorText = $(window.frames['zwFrame'].document).find("iframe").contents().find("body");
var contents = editorText.html();

其中contents():查找匹配元素内部所有的子节点(包括文本节点)。如果元素是一个iframe,则查找文档内容。

下面提供几种获取iframe里面元素内容的方法:

复制代码 代码如下:

$(document.getElementsByTagName("iframe")[0].contentWindow.document.body).html();


显示iframe中body元素的内容
复制代码 代码如下:

$(document.getElementById("iframeId").contentWindow.document.body).html();

获取iframe中textarea元素的内容

复制代码 代码如下:

$(window.frames["iframeName"].document).find("#textareaId").html();

上一篇:JQuery给元素添加/删除节点比如select

栏    目:jquery

下一篇:jQuery在vs2008及js文件中的无智能提示的解决方法

本文标题:jQuery读取和设定KindEditor值的方法

本文地址:http://www.codeinn.net/misctech/170366.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有