`
pouyang
  • 浏览: 321632 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaScript example: 弹出窗口,并且相互传值

阅读更多
窗口之间的传值当然要用到dialogArguments,看api英文解释
dialogArguments Property:
   Retrieves the variable or array of variables passed into the modal dialog window.
Remarks(备注)
  The dialogArguments property applies only to windows created using the showModalDialog and showModelessDialog methods.


主要步骤或者思路就是:
1 父窗口parent.htm调用 window.showModalDialog("children.htm", myObject, "dialogHeight:300px; dialogLeft:200px;");
或者window.showModalDialog("children.htm", window, "dialogHeight:300px; dialogLeft:200px;");真正实际当中第二种用得比较的多,除了局部变量其它所有的值都可以得到.


2 子窗口children.htm
    2.1 子窗口显示: 调用window.dialogArguments可以得到传过来的值,如果传过来的是window,那么父页面的所有元素,子窗口都可以得到(除了局部变量),得到之后就可以进行显示了,
   2.2 子窗口修改值并返回:
window.dialogArguments.firstName = document.getElementById('a').value;
window.dialogArguments.lastName = document.getElementById('b').value;
window.close();
父窗口就可以得到子窗口修改过的值
如果传过来的是window,就可以这样用:
window.dialogArguments.document.getElementById("searchbutton").click();

   
先上效果图,


以下是例子代码注释很详细:
parent.htm
<HTML>
<HEAD>
<SCRIPT>
// var bb = 'oyp'; 
//in the new modal window Like this 'window.dialogArguments.bb' can get this value

	function fnLaunch() {
		var aForm;
		aForm = oForm.elements;
		var myObject = new Object();
		myObject.firstName = aForm.oFirstName.value;
		myObject.lastName = aForm.oLastName.value;


//The object "myObject" is sent to the modal window.
//It can also be written like this:
//window.showModalDialog("x.htm",window, "dialogHeight:300px; dialogLeft:200px;");
//The window parameter  is passed in the method
//in the new modal window. alert(window.dialogArguments.oForm.elements.oFirstName.value);
//alert(window.dialogArguments.bb); 当然这个var bb 必须是全局变量才能这样得到,局部变量不行
// if like this 
//var bb = '1111111111';
//window.showModalDialog("b.htm", bb, "dialogHeight:300px; dialogLeft:200px;");
//alert(window.dialogArguments); 可以得到这个局部变量
// The object "myObject" is sent to the modal window.
// Here, I just pass this object in the method only!!
//在children.htm可以对myObject进行处理,然后返回

                    window.showModalDialog("children.htm", myObject, "dialogHeight:300px; dialogLeft:200px;");
		if (myObject.firstName != '') {
			document.getElementById('oFirstName').value = myObject.firstName;
		} if (myObject.lastName != '') {
			 document.getElementById('oLastName').value = myObject.lastName;
		}
	}
</SCRIPT>
</HEAD>
<BODY>
	<BUTTON onclick="fnLaunch();" >Launch The Window</BUTTON>
	<FORM ID= "oForm">
			First Name:
			<INPUT TYPE="text" NAME="oFirstName" VALUE="Jane">
			<BR>
			Last Name:
			<INPUT TYPE="text" NAME="oLastName" VALUE="Smith">
	</FORM>
</BODY>
</HTML>



children.htm
<HTML>
<HEAD>
<SCRIPT>
	var oMyObject = window.dialogArguments; //得到父窗口传递过来的对象
		var sFirstName = oMyObject.firstName;
	var sLastName = oMyObject.lastName;
</SCRIPT>
<title>Untitled</title>
</head>
<BODY STYLE="font-family: arial; font-size: 14pt; color: Snow;background-color: RosyBrown;">
      <!--显示父窗口传递过来的数据-->
		First Name:
		<SPAN STYLE="color:00ff7f">
		<SCRIPT>
		document.write(sFirstName);
		</SCRIPT>
		</SPAN>
		<BR>
		Last Name:
		<SPAN STYLE="color:00ff7f">
		<SCRIPT>
		document.write(sLastName);
		</SCRIPT>
		</SPAN>
	   <!-- end -->

      <!--子窗口设置父窗口传递过来的值并进行返回-->
		<script>
			function setValue() {
				window.dialogArguments.firstName = document.getElementById('a').value;
				window.dialogArguments.lastName = document.getElementById('b').value;
				window.close();
			}
		</script>
      <br>
	  First Name:<input  type ='text' id = 'a' ><br> 
      Last Name: <input  type ='text' id = 'b' ><br>    
      <input  type = 'button' value = '提交' onclick = 'setValue()' >
      <input  type = 'button' value = '返回' onclick = 'JavaScript:window.close()' >
	  <!--end-->
</BODY>
</HTML>


分享到:
评论

相关推荐

    弹出窗口互相传值范例

    在这个"弹出窗口互相传值范例"中,我们将会探讨如何在不同的弹出窗口之间传递数据,这在Web开发中是一个重要的技能。 首先,我们看到的文件名如`MikeCat_pcwin.aspx`、`cwin_modal.aspx`、`cwin.aspx`等,这些都是...

    JavaScript实现弹出子窗口并传值给父窗口

    总结一下,JavaScript实现弹出子窗口并传值给父窗口的基本步骤包括: 1. 在父窗口中定义一个函数来打开子窗口,并指定回调函数接收返回值。 2. 创建子窗口,包含用户交互元素,提供一个功能用于获取用户输入并设置`...

    JS弹出窗口的各种传值方法.pdf

    在JavaScript中,弹出窗口通常指的是使用`window.open()`、`window.showModalDialog()`或`window.showModelessDialog()`等方法创建的新窗口。这些方法在Web应用中常用于实现一些交互性的功能,如用户确认、数据输入...

    easyUi弹出window窗口传值与调用父页面的方法,子页面给父页面赋值

    首先,让我们理解标题中的“弹出window窗口传值”。在EasyUI中,创建一个弹出窗口通常涉及到以下步骤: 1. 创建一个HTML文件作为子页面,包含需要展示的数据和交互元素。 2. 在父页面中,通过`$.dialog`或`$.window...

    javascript经典特效---无边弹出窗口全集.rar

    "无边弹出窗口全集"这个资源很可能是集合了多种JavaScript实现的弹出窗口效果,旨在帮助开发者学习和应用各种弹出窗口的创建技巧。 弹出窗口通常分为两种类型:模态(Modal)和非模态(Non-Modal)。模态弹出窗口会...

    玩透javascript弹出窗口

    JavaScript弹出窗口是一种常见的网页交互方式,用于向用户展示额外信息或进行特定操作。本文将深入探讨如何设计和控制JavaScript弹出窗口。 首先,最基本的弹出窗口代码是使用`window.open`函数。例如: ```...

    javascript+asp弹出窗口.docx

    本文将详细讲解 javascript 弹出窗口技术,包括基本弹出窗口代码、函数控制弹出窗口、同时弹出多个窗口、主窗口打开文件同时弹出小窗口、弹出的窗口定时关闭控制、在弹出窗口中加上一个关闭按钮、内包含的弹出窗口、...

    点击按钮弹出窗口

    5. **关闭弹出窗口**:为了提供关闭弹出窗口的功能,可以在弹出窗口的内部添加一个关闭按钮(例如`&lt;span id="close"&gt;&times;&lt;/span&gt;`),并添加相应的事件监听器来处理关闭操作: ```javascript document....

    javascript 实现弹出小窗口

    ### JavaScript 实现弹出小窗口知识点详解 #### 标题:JavaScript 实现弹出小窗口 - **核心概念**:本篇文章主要介绍了如何利用 JavaScript 的 `window.open()` 方法来实现弹出新窗口的功能。 #### 描述:...

    弹出窗口大全(js)

    在Web开发中,JavaScript经常被用来创建各种交互式功能,其中弹出窗口是非常常见的一个应用场景。它主要用于显示额外的信息、表单或者对话框等,对于提高用户体验非常有帮助。 #### 二、主要方法与实现原理 ##### ...

    JAVASCRIPT弹出DIV层窗口实例

    JavaScript是一种广泛应用于网页和网络应用开发的脚本语言,它...总的来说,JavaScript弹出DIV层窗口实例是网页交互设计中常见的功能,通过理解和实践,我们可以创建出各种自定义的弹出窗口效果,提升网站的用户体验。

    弹出窗口

    1. **JavaScript 弹窗库**:在给定的文件列表中,`Dialog.js`很可能是一个用于创建弹出窗口的JavaScript库。JavaScript是实现网页动态效果和交互功能的关键语言,其中`Dialog`可能是一个函数或对象,用于创建和管理...

    javascript循环弹出窗口

    在“javascript循环弹出窗口”这个主题中,我们关注的是如何利用JavaScript代码来实现一个窗口无限循环弹出的功能。这通常涉及到定时器(setTimeout或setInterval)和弹窗函数alert()或confirm()。 首先,`alert()`...

    javascript点击弹出窗口

    在JavaScript中,创建弹出窗口主要通过`window.open()`函数来实现,但此方法通常用于打开新的浏览器窗口或标签页,而不是创建浮动的弹出层。在描述中提到的“点击灰色部分窗口自动消失”可能是指一种模态对话框...

    自定义弹出窗口

    3. JavaScript 或者 jQuery:用于控制弹出窗口的行为,如显示、隐藏、响应用户输入、验证数据等。例如,我们可以监听某个事件(如点击按钮)来触发弹出窗口的显示,或者使用定时器自动关闭窗口。JavaScript还能实现...

    完美弹出窗口 兼容所有浏览器

    这个主题与JavaScript库JQuery密切相关,特别是针对“完美JQuery弹出窗口”的实现。JQuery是一个强大的JavaScript库,简化了DOM操作、事件处理和动画效果,使得开发人员能够轻松地创建交互式的网页元素,如弹出窗口...

    jQuery弹出窗口

    3. JavaScript逻辑:弹出窗口的显示、隐藏、动画以及其他交互行为的实现。 在压缩包中的“素材”文件中,可能包含了用于创建弹出窗口的HTML、CSS和JavaScript代码。通过仔细研究这些源码,我们可以更好地理解并学习...

    js 弹出窗口

    在JavaScript(JS)中,创建弹出窗口是一种常见的交互设计,可以用来显示额外的信息或执行特定功能。在给定的标题“js 弹出窗口”和描述中,我们可以看到几个关键点:弹出窗口的加载、遮罩效果、拖动功能、自动关闭...

    JavaScript弹出窗口DIV层效果代码

    ### JavaScript弹出窗口DIV层效果代码详解 在现代网页设计中,弹出窗口或模态框(Modal)是一种常见的交互模式,用于展示额外的信息、表单或其他内容,而不需重新加载整个页面。本文将深入解析如何使用纯JavaScript...

    javascript div弹出窗口 可封装为JS类

    在JavaScript编程中,"div弹出窗口"是一种常见的交互式设计,它允许用户在不离开当前页面的情况下查看或操作相关信息。这种技术常被用于显示警告、提示、对话框或者加载内容丰富的模块,如图片画廊、表单等。在本...

Global site tag (gtag.js) - Google Analytics