dialogArguments
开发中经常遇到这样的问题:需要在一个页面里打开另外的页面(模态,或者非模态)。
见过很多这样的例子,另外还有页面间需要传递参数的,大部分都是采用地址栏参数拼接的形式。这很显然是一个不好的编程习惯,每次需要增加参数的时候都要面对那段可恶的参数拼接,经常出错。特别是最后一个参数如果是空串的话,容易产生下标越界的错误(因为split后,数组根本不会动态分配存储空间),所以一般需要增加额外的保护变量(一个与参数无关的变量),保证数组的内容如自己想的一样。
这个时候,窗口自带的属性dialogArguments还是比较强大的,代码上有些改观,但是拆数据的时候还是得很小心,否则还是会出错的:
找来的一段代码,或许能很好的说明这一点:
Retrieves the variable or array of variables passed into the modal dialog window.
dhtml语法
[ vVariables = ] window.dialogArguments
DHTML可能的值
vVariables String, numeric, object, or array value that specifies arguments. The property is read-only. The property has no default value.
Remarks
The dialogArguments property applies only to windows created using the showmodaldialog and showmodelessdialog methods.
Examples
The following example shows how to retrieve information passed into a modal dialog window using the dialogArguments property. This example consists of two snippets of code, which correspond to two different files. One file launches the modal window and the other file stores the code for the modal window.
This file launches the modal window and sends an object to that modal window.
<HTML> <HEAD> <SCRIPT> 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. window.showModalDialog("modalDialogSource.htm", myObject, "dialogHeight:300px; dialogLeft:200px;"); } </SCRIPT> </HEAD> <BODY> <BUTTON οnclick="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>This file (modalDialogSource.htm), stores the code for the modal window. The object sent to this modal window is retrieved using the dialogArguments property.
<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> </BODY> </HTML>
dialogArguments相关推荐
- Chrome不支持showModalDialog的解决方案
Chrome不支持showModalDialog的解决方案 昨天在使用showModalDialog的时候,遇到如下问题: 如果子窗口被刷新过,那么父窗口就接受不到子窗口的返回值. 为了解决这个问题, ...
- 利用JS中window.showModalDialog()详解
window.showModalDialog()方法用来创建一个显示HTML内容的模态对话框. window.showModelessDialog()方法用来创建一个显示HTML内容的非模态对话框. ...
- asp.net中窗口相关操作总结(javascript)
1.打开新窗口 这个简单:Response.Write(@"<script language=' javascript'>window.open('url');& ...
- showModalDialog 传值及刷新
(一)showModalDialog使用例子,父窗口向子窗口传递值,子窗口设置父窗口的值,子窗口关闭的时候返回值到父窗口. farther.html ------------------------- ...
- showModalDialog关闭子窗口,并刷新父窗口
一.用法:window.showModalDialog(url,args,'dialogWidth=650px;scroll=no;dialogHeight=250px;status=no; '); ...
- showModalDialog和showModelessDialog使用心得
showModalDialog和showModelessDialog使用心得 一.showModalDialog和showModelessDialog有什么不同? showModalDialog:被打 ...
- [转]JavaScript代码收集
来自<转贴自大雨仔的js收藏>: //打开模式对话框 function doSelectUser(txtId) { strFeatures="dialogWidth=500px; ...
- 实现不同域(Domain)之间的数据交换(转)
引言 前些天在对公司原有的 web 应用进行改版时遇到一个问题,当时需要从原有的应用中提取出一部分,用一个更为通用的来进行替换,并且仍然保留原有的应用接口.原有的应用属于 news.mycompany ...
- 原生js——四种对话框
js一共提供了四种对话弹框,即alert().confirm().prompt().showModalDialog().具体使用方法如下: 1.alert() alert()向用户显示一条消息并等待用 ...
- window.showModalDialog
window.showModalDialog的用法 基本介绍: showModalDialog() (IE 4+ 支持) showModelessDialog() (IE 5+ 支持) window. ...
最新文章
- 把握机缘_机缘巧合,蒙太奇训练以及我的朋友如何使自己失业
- docker使用_使用Docker正确的姿势
- 3springboot:springboot配置文件(外部配置加载顺序、自动配置原理,@Conditional)
- Linux 环境下umount, 报 device is busy 的问题分析与解决方法
- 操作多个表_2_组合相关的行
- php 返回页面重复提交,php防止表单重复提交
- php如何写文件缓存,PHP代码篇(八)--php实现文件缓存的读写
- 在危机中呈现转机的网络管理
- android 6.0 ndk版本,[推荐]android-ndk6.0翻译(1)
- html svg在线画板,很棒的SVG图形(多边形)在线生成器
- 该内存不能read written常见原因
- python生成微信小程序码
- 如何快速有效的发散思维?
- CSAPP Lab2:Bomb Lab
- 赛扬J4105和赛扬N5095哪个好
- opencv学习之视频帧率
- 计算机什么是符号健,在电脑健盘上怎么打:符号
- 【dp】LGTB 玩THD
- 流媒体技术在宽带网络的应用与发展
- 异步书讯:7月有这样7本程序员新书上架