读书人

如何用frames对象获得兄弟框架

发布时间: 2012-10-19 16:53:35 作者: rapoo

怎么用frames对象获得兄弟框架?
我的页面由两个iframe组成,要求在iframe1里的文本框中输入文本,点击按钮后,显示在iframe2的文本框中。
我用的frames对象,可是不正确,请各位指导一下!

iframe1包含的1.html:

HTML code
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">    <head>        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>        <title>test</title>        </head>    <body>                <form name="form1">            <input type="text" name="text1" />            <input type="button" value="submit" name="submit" onclick="submitIt();"/>        </form>        <script type="text/javascript">                        function submitIt(){                var text2=parent.frames["iframe1"].document.forms["form2"].text2;                var text1=document.forms[0].text1;                text2.value=text1.value;                    }        </script>    </body></html>


iframe2包含的2.html:
HTML code
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">    <head>        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>        <title>2</title>            </head>    <body>        <form name="form2">            用户名:            <input type="text" name="text2" />        </form>                    </body></html>


总的页面3.html:
HTML code
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">    <head>        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>        <title>3</title>    </head>    <body>        <iframe src="1.html" name="iframe1"></iframe>        <iframe src="2.html" name="iframe2"></iframe>    </body></html>


为什么调试1.html中的脚本时说“text2为空值或为null”?????
我无从修改了,不知道是哪里错了?谢谢!

[解决办法]
这样试试
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>test</title>

</head>
<body>

<form name="form1">
<input type="text" name="text1" />
<input type="button" value="submit" name="submit" onclick="submitIt();"/>
</form>
<script type="text/javascript">

function submitIt(){
var text2=parent.frames["iframe2"].document.forms["form2"].text2;
var text1=document.forms[0].text1;
text2.value=text1.value;

}
</script>
</body>
</html>




[解决办法]
var obj=top.frames["框架NAME"].document.getElementById("控件ID")
--------------------------------


这样试试:
function submitIt(){
var text2=top.frames["iframe2"].document.getElementsByName["text2"][0];
var text1=document.getElementsByName["text1"][0];
text2.value=text1.value;
}

最好给控件加ID,通过getElementById()来访问控件对象

读书人网 >JavaScript

热点推荐