`

codeLib之javaScript之父子窗口问题2

阅读更多

2.window.showModalDialog()

 

vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures])

     vArguments父窗口向子窗口传递参数;

     vReturnValue子窗口向父窗口传递数据。

父窗口html

<div id="popup_2" align="center"><hr>
	<fieldset><legend>window.showModalDialog()</legend>
		<p><label for="name_2">名字:</label> <input type="text" name="name_2"></p>
		<p><label for="age_2">年龄:</label> <input type="text" name="age_2"></p>
		<p><label for="sex_2">性别:</label> <input type="text" name="sex_2"></p>
		<p><label for="dep_2">部门:</label> <input type="text" name="dep_2"></p>
		<p><label for="pro_2">职位:</label> <input type="text" name="pro_2"></p>
	</fieldset>
	<input type="button" class="button" onclick="showUserDialog(2)" value="显示子窗口二">
</div>

父窗口js

var options = "location=no,menubar=no,resizable=no,scrollbars=yes,status=no,titlebar=yes,toolbar=no,left=200,top=200,height=300,width=400";
var dialogOptions = "dialogWidth:400px;dialogHeight:300px;dialogLeft:350px;dialogTop:150px;center:no;help:no;resizable:no;status:no;scroll:no";
var legends = ["window.open()","window.showModalDialog()","window.showModelessDialog()"];
var title = "";
var arg_2 = new Object();
function showUserDialog(flag){
    title = legends[flag - 1];
    switch (flag) {
        case 1:
                window.open("inner_1.html","_blank",options);
            break;
        case 2:
                arg_2.title = title;
                arg_2.name_2 = document.all.name_2.value;
                arg_2.age_2 = document.all.age_2.value;
                arg_2.sex_2 = document.all.sex_2.value;
                arg_2.dep_2 = document.all.dep_2.value;
                arg_2.pro_2 = document.all.pro_2.value;                
                var res_2 = window.showModalDialog("inner_2.html",arg_2,dialogOptions);
                if(typeof(res_2) == "object"){
                    document.all.name_2.value = res_2.name_2;
                    document.all.age_2.value = res_2.age_2;
                    document.all.sex_2.value = res_2.sex_2;
                    document.all.dep_2.value = res_2.dep_2;
                    document.all.pro_2.value = res_2.pro_2;
                }
            break;
        case 3:
                window.showModalDialog("inner_3.html",window,dialogOptions);
            break;            
        default:
            break;
    }
}

 子窗口html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<title>Insert title here</title>
		<script language="javascript" src="script/popupWindow.js"></script>
	</head>
	<body onload="init_2()">
		<div align="center">
			<fieldset>
				<script language="javascript">
					document.write("<legend>" + getTitle_2() + "</legend>");
				</script>
				<p><label for="name_2">名字:</label> <input type="text" name="name_2"></p>
				<p><label for="age_2">年龄:</label> <input type="text" name="age_2"></p>
				<p><label for="sex_2">性别:</label> <input type="text" name="sex_2"></p>
				<p><label for="dep_2">部门:</label> <input type="text" name="dep_2"></p>
				<p><label for="pro_2">职位:</label> <input type="text" name="pro_2"></p>
			</fieldset>
			<input type="button" value="提 交" onclick="handIn_2()" class="">
		</div>
	</body>
</html>

子窗口js

function init_2(){
	var inputArg = window.dialogArguments;
	document.all.name_2.value = inputArg.name_2;
	document.all.age_2.value = inputArg.age_2;
	document.all.sex_2.value = inputArg.sex_2;
	document.all.dep_2.value = inputArg.dep_2;
	document.all.pro_2.value = inputArg.pro_2;
}
function handIn_2(){
	var inputArg = new Object;
	inputArg.name_2 = document.all.name_2.value;
	inputArg.age_2 = document.all.age_2.value;
	inputArg.sex_2 = document.all.sex_2.value;
	inputArg.dep_2 = document.all.dep_2.value;
	inputArg.pro_2 = document.all.pro_2.value;
	window.returnValue = inputArg;
	window.close();
}
function getTitle_2(){
	var inputArg = window.dialogArguments;
	return inputArg.title;
}

 

分享到:
评论

相关推荐

    CodeLib.NET +10.6 Access 免费版本

    CodeLib.NET 支持多种编程语言,包括但不限于C#、VB.NET、Java、C++、Python、JavaScript等,使得不同技术背景的开发者都能受益。 1. **代码管理**:CodeLib.NET 提供了一个结构化的平台,用户可以按照项目、类别或...

    CodeLib2 代码片断管理器

    需要 java11 来运行 支持 40 多种代码高亮 快速代码搜索 支持代码折叠 代码高亮html导出 支持添加文件附件, 支持附件的浏览器预览

    CodeLib .NET (Access) 10.6

    7. **全文检索**:CodeLib的核心功能之一就是其强大的全文检索能力,用户可以快速定位到所需内容,无论是在文章、代码还是其他文档中。 8. **版本控制**:虽然未明确提及,但作为一个完善的工具,CodeLib可能包含了...

    CodeLib .NET (Access) v17.4

    一个不错的源代码和数据资源综合管理工具,开发人员必备,推荐使用!(这个文件上传不完整,请下载另一个!)

    代码片段管理工具 - CodeLib2 b6150

    1. **多语言支持**:CodeLib2 支持多种编程语言的代码片段管理,包括但不限于Java、Python、C++、JavaScript等,这意味着无论你使用哪种语言进行开发,都可以方便地将其整合到你的工作流中。 2. **分类与标签**:...

    CodeLib.net Web Pulgin

    codelib.net 的web插件,有了它就可以把网页直接保存到codelib中.

    CodeLib

    2. **空安全**:通过智能类型系统,Kotlin 避免了常见的 NullPointerException,这在 Java 中是一个常见的问题。 3. **互操作性**:Kotlin 可以无缝地与现有的 Java 代码一起工作,使得迁移现有项目变得更加容易。 ...

    CodeLib .NET v17.4 (Access) 破解版

    CodeLib .NET 是一个不错的源代码及数据资源管理工具

    javatools源码-codelib-gen:此python工具从CodeLib的java源代码生成C++类

    java工具源码codelib-gen-CodeLib本机源生成器 codelig-gen是工具链中的便捷工具,可自动生成本机副本。 实际上,它会扫描提供的CodeLib的类,方法和字段签名,并生成一个C ++类,将其公开给ARTist框架。 有关ARTist...

    Codelib.rar_Windows编程_C++_Builder_

    "Codelib.txt"文件很可能包含了各种代码示例、编程技巧、问题解决方案或者库函数的详细说明,是学习和理解Windows编程与C++ Builder的宝贵资源。通过阅读和实践其中的内容,开发者可以深入理解如何使用C++和Builder...

    template-codelib:模板Java库与ARTist结合使用以在Android设备上进行应用程序仪表

    代码库 CodeLib项目提供了Java库的模板,这些模板作为工具链的一部分注入到目标(Android应用程序和系统组件)中。 基本思想是,您可以将其用作基本代码,以便为新的ARTist模块创建CodeLib。 有关ARTist生态系统的更...

    leetcode中国-CodeLib:写的codelib是为了编码

    leetcode中国前言 “话费便宜。...” ——莱纳斯·托瓦兹 这是一个自我使用的代码库,它显示了我在编码中看到或使用过的数据(知识)和思想。 我想在我工作的任何地方轻松使用它(所以其他名称称为博客!...

    VB代码库(大量的VB实例代码)

    3.总在最前型窗口 4.目录浏览对话框 5.Shell的相关问题 6.使用回收站 7.启动拨号网络(Win9X) 8.改变墙纸 9.产生GUID 10.启动拨号网络(Win NT) 11.自动调整ListView 12.使用文件复制对话框

    C# 生成条形码

    case 2: Barcodedata = this.txtData.Text.Trim() + SerialNo.ToString().Insert(0, "00"); break; case 3: Barcodedata = this.txtData.Text.Trim() + SerialNo.ToString().Insert(0, "000"); break; ...

    CodeLibrary代码笔记本

    通常,版本号的更新意味着软件性能的提升、新功能的添加或已知问题的修复。用户可以通过定期更新来确保获得最佳的使用体验。 总的来说,CodeLibrary代码笔记本是一款集小巧、多语言、良好视觉体验和可靠数据存储于...

    dexterous,用于apk/dex合并、重新打包和签名的库和独立cli工具。也可以用作dex分析器框架。.zip

    在将apk和zip文件交给artist之前,它用作预处理步骤,其主要任务是部分合并codelib,以便artist模块可以将对codelib方法的调用注入目标代码中。部分合并意味着将codelib dex文件添加到目标中,并使用现有的目标dex...

    c# 发送Email

    2. **MailMessage类**:这是`System.Net.Mail`命名空间中的一个类,它代表了一封电子邮件的所有信息,如发件人、收件人、主题和邮件正文。开发者需要创建`MailMessage`对象并设置相应的属性。 3. **SmtpClient类**...

    CLCL编程助手

    CLCL(CodeLib Code Library)的名字来源于“代码库代码库”,它是一个小巧但功能强大的代码片段管理工具。程序员可以将常用的代码段存储在CLCL中,当需要使用时,只需按下Alt+V快捷键,然后通过简单的输入或者选择...

Global site tag (gtag.js) - Google Analytics