注册 登录
编程论坛 ASP技术论坛

html编辑器在FF下取值的问题

lele2007 发布于 2009-10-24 15:20, 998 次点击
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.
<html xmlns="http://www.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script language="javascript" src="Editor.js"></script>
<style type="text/css">
body{
    background:#303030;
}
.leleEditor{
    width:875px;
    height:200px;
    border:1px solid #CCCCCC;
}
.leleTools{
    width:100%;
    height:35px;
    background:#F7F5F4;
    border-bottom:1px solid #CCCCCC;
}
</style>
<title>无标题文档</title>
</head>

<body>
<div class="leleEditor">
  <div class="leleTools">&nbsp;</div>
  <div class="leleIframe"><iframe id="leleEditor" frameborder="0" width="100%" height="167" src="about:blank"></iframe></div>
</div>

<p>&nbsp;</p>
<p>
  <input type="button" value="获取编辑器内容" onclick="CheckForm();" />
</p>
</body>
</html>



eidt.js  文件里的代码。。

window.onload=function()
{
    var leleHTML = document.getElementById("leleEditor");
    leleHTML.contentWindow.document.designMode = "on";
    leleHTML.contentWindow.document.contentEditable = true;
}
function CheckForm()
{
    var leleContent = leleEditor.document.body.innerHTML;
    if(leleContent=="")
    {
        alert("请输入内容,谢谢!");
    }
    else
    {
        alert(leleContent);
    }
}


这样在FF浏览器里获取不了值。。IE浏览器可以。。

在FF下应该如何得到HTML编辑器中的值?
15 回复
#2
lele20072009-10-24 15:23
只有本站会员才能查看附件,请 登录



附件。。
#3
yms1232009-10-24 15:48
http://www.
这篇文章或许对楼主有帮助
FireFox下对innerHTML比较严格,不像IE直接名字.innerHTML就能取出来。
#4
aspic2009-10-24 15:49
document.getElementById("leleEditor").document.body.innerHTML;
这样呢
#5
lele20072009-10-24 16:22
以下是引用aspic在2009-10-24 15:49:26的发言:

document.getElementById("leleEditor").document.body.innerHTML;这样呢
获取到了当前文档即:Editor.html中所有的HTML代码了。。不是指定的  leleEditor编辑器中的了。。IE也是。。
#6
aspic2009-10-24 16:31
编辑器不是这样搞的~ 隐藏域要用上的
#7
lele20072009-10-24 16:35
我就是想获取到编辑器中的值。。然后给隐藏域付值。。没获取到值给不了隐藏域相应的值。。

#8
lele20072009-10-24 16:36
以下是引用yms123在2009-10-24 15:48:42的发言:

http://www.
这篇文章或许对楼主有帮助
FireFox下对innerHTML比较严格,不像IE直接名字.innerHTML就能取出来。
<div id="lele"></div>

<input type="button" value="设置" onclick="document.getElementById('lele').innerHTML='我是内容';">

<input type="button" value="获取" onclick="alert(document.getElementById('lele').innerHTML);">

版主,这样就可以在FF下获取到和设置。。把iframe的状态设置成可编辑状态。。不知道在FF下应该如何获取。
#9
aspic2009-10-24 16:52
好吧 我只能使出杀手锏了
document.getElementById("leleEditor").contentWindow.document.getElementsByTagName("body")[0].innerHTML;
#10
aspic2009-10-24 16:53
if(leleContent=="")
需要过滤一下<br>
#11
lele20072009-10-24 16:54
好。。我试一下。。
谢谢。
#12
lele20072009-10-24 17:02
<script>
window.onload=function()
{
    var leleHTML = document.getElementById("leleEditor");
    leleHTML.contentWindow.document.designMode = "on";
    leleHTML.contentWindow.document.contentEditable = true;
}
function CheckForm()
{
    var leleContent = leleEditor.document.body.innerHTML;
    if(leleContent=="")
    {
        alert("请输入内容,谢谢!");
    }
    else
    {
        alert(leleContent);
    }
}
</script>
 
<iframe id="leleEditor" width="100%" height="167" src="about:blank"></iframe>
 
 
<p>&nbsp;</p>
 
  <input type="button" value="获取编辑器内容" onclick="document.getElementById('leleEditor').contentWindow.document.getElementsByTagName('body')[0].innerHTML;" />


版主。。。还是不可以呀。。
#13
lele20072009-10-24 17:04
版主。。有没可以成功获取的?我参考一下。。
#14
aspic2009-10-24 17:27
alert(document.getElementById('leleEditor').contentWindow.document.getElementsByTagName('body')[0].innerHTML)
#15
lele20072009-10-24 17:45

可以了。。忘了加alert。。。

棒极了。。。
#16
lele20072009-10-30 22:42
document.getElementById('leleEditor').contentWindow.document.getElementsByTagName('body')[0].innerHTML

上次编辑器用这个获取到了编辑器中的值了。。
如果要对编辑器中的值进行设置。。
我用以下代码:

document.getElementById('leleEditor').contentWindow.document.getElementsByTagName('body')[0].innerHTML = "测试赋值";

但是不能赋值成功。。

使用:
leleEditor.document.body.innerHTML = "测试赋值";  这样就可以。。但不支持FF

需要如何给编辑器中赋值的?
1