`

window.open() 父子页面的传参&传值问题

阅读更多
window.open() 传参问题:
父页面中:
window.open('url', '', 'resizable=1, menuBar=0, toolBar=0, scrollbars=yes, Status=yes, resizable=1');


url页面拿父页面的xx元素赋值
opener.document.getElementById("xx").value="newValue";


if(window.opener){//判断是否有父窗口,即打开本页面的窗口
    window.opener.location.reload();//刷新父窗口
    window.opener.close();	//关闭父窗口
}



window.open() 传值问题(参考:http://www.cnblogs.com/gavindou/archive/2008/04/09/1143858.html):
a.html(父)
注意:window.open("b.html","","modal=yes,width=500,height=500,resizable=no,scrollbars=no"); 中的第3个参数一定要有 modal=yes
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>a.html文档</title> 
<script type="text/javascript"> 
function openstr() 
{ 
window.open("b.html","","modal=yes,width=500,height=500,resizable=no,scrollbars=no"); 
}

</script> 
</head> 

<body> 
<form id="form1" name="form1" method="post" action=""> 
<label> 
<select name="txtselect" id="txtselect"> 
</select> 
</label> 
<label> 
<input type="button" name="Submit" value="打开子窗口" onclick="openstr()" /> 
</label> 
</form> 
</body> 
</html> 


b.html(子)
<html > 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<title>b.html文档</title> 
<script type="text/javascript"> 
function ClickOk() 
{ 
var t=document.Edit; 
var color=t.color.value; 
if(color==null||color=="填写颜色") return(false); 
var oOption = window.opener.document.createElement('OPTION'); 
oOption.text=document.getElementById("color").value; 
oOption.value=document.getElementById("color").value; 
//检查浏览器类型
var bname = navigator.appName;
if (bname.search(/netscape/i) == 0)
{
window.opener.document.getElementById("txtselect").appendChild(oOption); 
}
else if (bname.search(/microsoft/i) == 0)
{
window.opener.document.all.txtselect.add(oOption); 
}
else
{
}
window.close(); 
} 
</script> 
</head> 
<body> 
<table border="0" cellpadding="0" cellspacing="2" align="center" width="300"> 
<form name="Edit" id="Edit"> 
<tr> 
<td width="30" align="right" height="30">color:</td> 
<td height="30"><input type="text" name="color" id="color" value="填写颜色" /></td> 
<td width="56" align="center" height="30"><input " type="button" name="bntOk" value="确认" onclick="ClickOk();" /> </td> 
</tr> 
</form> 
</table> 
</body> 
</html>



var url = '/xxx/xx.jsp?yearNum='+yearNum;
		
		if (typeof window.ActiveXObject != 'undefined') { // 支持IE浏览器
			var weekNum=document.getElementById("weekNum").value;
			var arguments    = new Array();
			arguments[0] = weekNum;
			var returnValue = window.showModalDialog(url,arguments,'dialogHeight:500px;dialogWidth:380px;dialogTop:300px; dialogLeft:500px;center:yes;scroll:yes;status:no;resizable:no;edge:raised;help:no;unadorned:yes');
			if(returnValue!=null && returnValue[0]){
				document.getElementById("weekNum").value=returnValue[1];
				document.getElementById("beginDate").value=returnValue[2];
				document.getElementById("endDate").value=returnValue[3];
			} 
		}
		else if((typeof document.implementation != 'undefined')
					&&(typeof document.implementation.createDocument!='undefined')) { // 支持Mozilla浏览器

			window.open(url,'weekNum','modal=yes,menubar=0,status=0,toolbar=0,scrollbars=1,resizable=1,width=400px,height=500px,top=300,left=500');
		
		}
分享到:
评论

相关推荐

    window.open父子窗口传值问题

    当我们谈论“window.open父子窗口传值问题”,我们指的是在父窗口通过`window.open`创建了一个子窗口,并需要在两者之间进行数据通信的情况。 首先,让我们了解一下`window.open`的基本语法: ```javascript var ...

    window.open打开新窗口参数设置

    1. **兼容性问题**:不同的浏览器对 `window.open()` 方法的支持程度不同,因此在使用时需要注意浏览器兼容性问题。 2. **弹窗阻止**:许多浏览器都具有弹出窗口阻止功能,这可能会影响 `window.open()` 方法的执行...

    window.open最大化问题

    Window.open 最大化问题解决方案 Window.open 是 JavaScript 中的一个方法,用于打开新的浏览器窗口。然而,在实际应用中,我们经常需要将弹出的窗口最大化,以便更好地展示内容。在本文中,我们将探讨如何使用 ...

    window.open.txt

    根据提供的文件信息,我们可以深入探讨`window.open()`方法在不同浏览器环境下的特性和使用细节。 ### window.open() 方法概述 `window.open()`是JavaScript中一个非常实用的方法,它用于在一个新的浏览器窗口或...

    字符串 window.open() window.opener window.name window对象等的总结

    本篇文章将深入探讨`window.open()`、`window.opener`、`window.name`以及`window`对象的一些核心概念,同时通过两个带有注释的页面示例(001.html和main.html)帮助理解这些知识点。 ### `window.open()` `window...

    javascript 打开页面window.location和window.open的区别.docx

    ### JavaScript打开页面window.location与window.open的区别 #### 一、概述 在JavaScript中,`window.location` 和 `window.open` 都是用来控制浏览器导航的重要API,但它们在使用场景、功能特性和行为上有显著的...

    window.showModalDialog模式对话框和 window.open的区别

    `window.showModalDialog` 和 `window.open` 都是JavaScript提供的两种打开新窗口的方法,但它们在功能和使用场景上有着显著的区别。 首先,我们来详细探讨`window.showModalDialog`。`showModalDialog`方法用于...

    Window.Open详解

    ### Window.open() 方法详解 #### 一、方法简介 `window.open()` 是一个在Web开发中经常被用来创建新浏览器窗口或标签页的方法。此方法是 `window` 对象的一个属性,通过调用该方法可以指定打开的新窗口的URL、...

    window.open最大化操作

    Window.open最大化操作 在Web开发中,我们经常需要弹出新的浏览器窗口,而在某些...然而,使用window.open方法来实现窗口的最大化需要使用setTimeout方法来延迟执行JavaScript代码,以便在子页面中实现窗口的最大化。

    Javascript中封装window.open解决不兼容问题

    对window.open进行封装, 使其更好用, 且更兼容, 很多人说window.open不兼容,其实不是, 因为不能直接执行, 必须通过用户手动触发才行;看代码: 代码如下 var openWindow = function(url, options) { var str = ""; ...

    js弹窗并返回值(window.open方式)

    在JavaScript中,`window.open`方法是一个非常实用的功能,它允许开发者创建新的浏览器窗口或标签页,并在其中加载指定的网页内容。这个方法在交互式用户界面设计中尤其常见,例如用于显示警告、确认对话框或者...

    window.open打开新窗口,不被拦截的方法

    ### window.open打开新窗口,不被拦截的方法 在Web开发中,经常会有需求需要在一个新的浏览器窗口或标签页中打开链接或展示内容。这通常通过JavaScript的`window.open()`方法来实现。但是,在实际应用中,由于...

    前端window.open实现激活而非打开的功能

    扩展window.open方法,使得window.open时针对相同的URL地址非打开新窗口,而是仅仅激活已存在窗口,另外,此激活不会刷新页面,不会丢失页面上已存在的数据

    javascript中window.open在原来的窗口中打开新的窗口(不同名)

    最近做一个JSP网页要求打开一个没有菜单工具栏的IE,想到用window.open 来打开。但是发现如果先前打开的窗体没有关掉,在打开一个窗体的时候就会在先前没有关闭的窗体上打开新的窗体,这样先前的窗口就被替换掉了。...

    用window.open,opener实现网页间通信

    ### 使用 `window.open` 和 `window.opener` 实现网页间通信 #### 一、引言 在现代Web开发中,网页间的通信是一项常见的需求。例如,在多窗口或多个标签页的应用场景下,如何实现不同窗口间的高效数据交互,成为了...

    js中window.open打开一个新的页面.docx

    在实际开发中,我们经常需要使用 window.open() 函数来打开新的页面,例如在点击某个按钮时打开一个新的页面,或者在某个事件触发时打开一个新的页面。但是,window.open() 函数的使用方式和参数配置却让很多开发者...

    window.showModalDialog以及window.open用法简介

    Window.showModalDialog 和 Window.open 用法简介 Window.showModalDialog 和 Window.open 都是 JavaScript 中的方法,用于创建新窗口或对话框,下面分别介绍它们的用法和参数。 一、Window.open() 方法 Window....

    window.open的例子和使用方法以及参数说明

    windows.open这个是JavaScript函数,但是在应用起来的时候总会遇到比较多的麻烦,因为参数非常多,用法也非常的多

    window.open 参数 详细说明

    一、window.open()支持环境: 二、基本语法: 三、示例: 四、各项参数

Global site tag (gtag.js) - Google Analytics