我创建了两个具有两种不同形式的框架,如下面的链接所示:
http://demo.4page.info/framedemo/main.html(请在IE中查看)
现在,当我点击Get Text
按钮时,预定义的值应显示在其上方的文本框中,然后当我点击Copy Here
按钮时textbox1
的相同值应该显示在它上面的文本框中。
所以我的问题是如何通过单击“在此处复制”按钮以第二帧形式访问该值?
以下是我的代码:
<!--main.html-->
<html>
<head>
<frameset cols="50%, 50%">
<frame name="f1" src="left.html" />
<frame name="f2" src="right.html" />
</frameset>
</head>
</html>
这成功地将页面分成两个框架。
<!--left.html-->
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<script type="text/vbscript">
dim msg
msg="Hello"
function func()
document.form1.text1.value=msg
end function
</script>
</head>
<body>
<form name="form1">
<table align="center" cellspacing="5">
<tr><td><input type="text" name="text1" /></td></tr>
<tr><td><input type="button" value="Get Text" onClick="func()" /></td></tr>
<tr><td><input type="reset" name="reset" value="Reset" /></td></tr>
</table>
</form>
</body>
</html>
left.html
正常工作,并在点击按钮时访问值。
<!--right.html-->
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" />
<script type="text/vbscript">
</script>
</head>
<body>
<form name="form2">
<table align="center" cellspacing="5">
<tr><td><input type="text" name="text2" /></td></tr>
<tr><td><input type="button" value="Copy Here!" onClick="??????" /></td></tr>
<tr><td><input type="reset" name="reset" value="Reset" /></td></tr>
</table>
</form>
</body>
</html>
我需要在right.html
中添加什么内容?
答案 0 :(得分:0)
您可以通过frames
对象的parent
属性访问其他框架的内容,因此这样的内容应该有效:
<script type="text/vbscript">
Sub CopyHere
document.form2.text2.value = parent.frames("f1").document.form1.text1.value
End Sub
</script>
...
<form name="form2">
<input type="text" name="text2" /></td></tr>
<input type="button" value="Copy Here!" onClick="CopyHere()" />
</form>
请注意,您可能需要调整浏览器的安全设置才能使代码生效。
更一般地说,我建议使用id
属性而不是name
属性,因为后者已被弃用。