JavaScript中对innerHTML赋值的问题

请看下面三个网页的代码,三个网页的文件放在同一个文件夹中。我的想法是,打开Frame.htm,在左边的test.htm的文本域中输入任意的代码,然后点击右边test1.h... 请看下面三个网页的代码,三个网页的文件放在同一个文件夹中。我的想法是,打开Frame.htm,在左边的test.htm的文本域中输入任意的代码,然后点击右边test1.htm中的“显示效果”按钮,此时触发函数ok(),通过此函数读取我在左边文本域输入的代码,然后把这段代码加载到右边id为load的单元格内部并显示出相应的效果。

问题是,我在下面test1.htm中写的ok()函数对innerHTML的赋值是不成功的,估计是数据类型不对应。我是刚学的js,分析不出来,所以请高手出来看看,怎样才能达到目的。

估计有人会注意到,这几个页面实际上是在进行数据传输,本来在test.htm中为表单添加一个action和一个post方法,然后在test1.htm中用ASP命令Request.Form接收就行了,但是我不想能用asp。我必须要用js写在htm文档中,这个小程序是准备编译进chm帮助文档的,chm里面asp是无法执行的。

三个页面:
第一个:Frame.htm
代码:
<frameset cols="505,505">
<frame src="test.htm" name="left" id="left">
<frame src="test1.htm" id="right" name="right">
</frameset>
<noframes><body>
</body></noframes>
第二个:test.htm
<html>
<body>
<form name="form1" action="" method="post">
<textarea name="c" rows="10">
<script type="text/javascript">
document.write("Hello World!")
</script>
</textarea>
</form>
</body>
</html>
第三个:test1.htm
<html>
<head>
<script language="javascript">
function ok()
{
document.getElementById("load").innerHTML(parent.left.document.form1.c.value);
}
</script>
</head>
<body><input name="OK" type="button" value="显示效果" onclick="ok()" />
<table width="80%" height="500px" border="1">
<tr>
<td id="load">把左边输入的代码加载到这里</td>
</tr>
</table>
</body>
</html>
展开
 我来答
lshhjx
推荐于2016-11-11 · TA获得超过461个赞
知道小有建树答主
回答量:151
采纳率:100%
帮助的人:154万
展开全部
问题在test1.htm文件中定义的ok()函数中,你应该将该函数修改成如下:
function ok()
{
document.getElementById("load").innerHTML=parent.left.document.form1.c.value;
}
看到了吗,innerHTML是一个属性而不是一个方法,所以你应该为innerHTML赋值,而不是把它当方法来调用。
另外,你不应该将传过来的值放到table中的<td>标记符中,所以test1.htm中的
<td id="load">把左边输入的代码加载到这里</td>
也应该修改为如下语句:
<td><div id="load">把左边输入的代码加载到这里</div></td>
即可实现你需要的功能。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式