`

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 是一个不错的源代码及数据资源管理工具

    (源码)基于microbit编程框架的CodeLib插件.zip

    # 基于microbit编程框架的CodeLib插件 ## 项目简介 这是一个针对microbit编程框架开发的CodeLib插件,旨在为microbit编程提供丰富的积木块功能。通过该插件,用户可以在MakeCode平台上轻松实现各种功能,无需编写...

    skywu520codelib-单片机开发资源

    C

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

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

Global site tag (gtag.js) - Google Analytics