frameset
<script type="text/javascript">windowonload = function() {
var frms = windowframes;
for(var i = 0; i < frmslength; i++) {
// Window, Window, Window
consolelog(frms[i]);
}
};
</script><frameset cols="20%,400,">
<frame src="ahtm">
<frame src="bhtm">
<frame src="chtm">
</frameset>
iframe
<script type="text/javascript">windowonload = function() {
var iframes = documentgetElementsByTagName("iframe");
for(var i = 0; i < iframeslength; i++) {
// Window, Window, Window
consolelog(iframes[i]contentWindow);
}
};
</script><iframe src="ahtml"></iframe>
<iframe src="bhtml"></iframe>
<iframe src="chtml"></iframe>
方法一~~~~~~~~~~~~~~~~~~~~~~
主窗口:
<input name="" type="button" onclick="newpage()"/>
<script>
var a = "12345";
function newpage(){
windowopen("子窗口html" + "" + a);
}
</script>
子窗口html
<script>
var addstr= documentURL;
var num=addstrindexOf("")
addstr=addstrsubstr(num+1);
alert(addstr);
</script>
方法二:~~~~~~~~~~~~~~~~~~~~~~~
主窗口:
<input id="hid" type="hidden" value="" />
<input name="" type="button" onclick="newpage()"/>
<script>
var a = "12345";
function newpage(){
documentgetElementById("hid")value = a;
windowopen("2html");
}
</script>
子窗口:
<script>
var prtW = windowopener;
var prtA;
if(prtW!=null){
prtA = prtWdocumentgetElementById("hid")value;
alert(prtA);
}
</script>
1、父页面
代码如下:
<input type="text" id="name" value="zhangsan"/>
<a href="ahtml" target="_blank">预览</a>
2、子页面,也就是ahtml获取父页面中文本框的value
代码如下:
$(function(){
consoleinfo(windowopenerdocumentgetElementById("name")value);
});
这样控制台中出来的则是父页面文本框的值
请采用网页对话框的方式 showModalDialog
showModalDialog是jswindow对象的一个方法,和windowopen一样都是打开一个新的页面。
区别是:showModalDialog打开子窗口后,父窗口就不能获取焦点了(也就是无法 *** 作了)。
可以在子窗口中通过设置windowreturnValue的值,让父窗口可以获取这个returnvalue
2一个例子
1)主窗口mainhtml,
2)在主窗口中通过showModalDialog的方式打开子窗口subhtml
3)在子窗口中设置returnValue返回给主窗口使用
mainhtml
复制代码代码如下:
<HTML><HEAD>
<METANAME="GENERATOR"Content="oscar999">
</HEAD>
<script>
functionshowmodal()
{
varret=windowshowModalDialog("subhtmltemp="+Mathrandom());
alert("subreturnvalueis"+ret);
}
</script>
<BODY>
<INPUTid=button1type=buttonvalue="opensub"name=button1onclick="showmodal();">
</BODY>
</HTML>
subhtml
<HTML><HEAD>
<METANAME="GENERATOR"Content="oscar999">
</HEAD>
<script>
functionreturnMain()
{
windowreturnValue="returnfromsub";
windowclose();
}
</script>
<BODY>
<INPUTid=button1type=buttonvalue="returnandclose"name=button1onclick="returnMain()">
</BODY>
</HTML>
这种目前只有IE可用,其它浏览器都不可用了
方式二:
采用其它js框架,d出对话框的模式
如果按照你的描述
是浏览器不同两个窗口互相访问
浏览器本身就不允许
但是如果是父子窗口 子由父生成
如果以iframe方式实现
可以
前提是两者的域要一样
js不允许跨域 浏览器也不允许
所以获取不到子窗口的window
但是如果父 子页面都把domain统一一个
就可以了
//获取iframe的window对象var topWin = windowtopdocumentgetElementById("frame")contentWindow;
// 调用子iframe某函数 前提是公开了的
windowxxxfunction();
我在那个帖子里已经回答了
以上就是关于用js遍历当前窗体的所有子窗体全部的内容,包括:用js遍历当前窗体的所有子窗体、JS 父窗口向子窗口传值问题、js子窗口如何获取父窗口输入框值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)