Super.jsp - 父窗口

 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<base href="<%=basePath %>Super.jsp"> <title>Super.jsp</title>
</head> <script type="text/javascript">
function showLanguage()
{
var currObj = new Object();
var langObj = document.getElementById("language_id");
currObj.language = langObj.value;
var subReturn = window.showModalDialog("Sub.jsp",currObj,"dialogWidth:300px;dialogHeight:300px;"); //防止返回的值为空字符串场景
if((null == subReturn) || (typeof subReturn == "undefined"))
{
return;
} langObj.value = subReturn;
} function reset()
{
document.getElementById("language_id").value = "";
} function setLang(sub_lang)
{
document.getElementById("language_id").value = sub_lang;
}
</script> <body>
<div align="center" style="font-size: 18px;">
当前语言:
<input type="text" name="select_lang" id="language_id" readonly="readonly">
&nbsp;&nbsp;
<input type="button" name="selectLanguage" value="语 言" onclick="showLanguage()">
<input type="button" name="resetLanguage" value="重 置" onclick="reset()">
</div>
</body>
</html>

Sub.jsp - 子窗口

 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<base href="<%=basePath %>Sub.jsp" target="_self"> <title>Sub.jsp</title>
</head> <script type="text/javascript">
function selectLanguage()
{
var radio_names = document.getElementsByName("radio_name");
if((null == radio_names) || (typeof radio_names == "undefined"))
{
alert("Pls choose a language !!!");
return;
} var seleVal = ""; for(var i=0; i<radio_names.length; i++)
{
if(radio_names[i].checked == true)
{
seleVal = radio_names[i].value;
break;
}
} window.returnValue = seleVal; window.close();
} function selectLanguage2()
{
var radio_names = document.getElementsByName("radio_name");
if((null == radio_names) || (typeof radio_names == "undefined"))
{
alert("Pls choose a language !!!");
return;
} var seleVal = ""; for(var i=0; i<radio_names.length; i++)
{
if(radio_names[i].checked == true)
{
seleVal = radio_names[i].value;
break;
}
} //获取父窗口对象
var opener = window.opener;
//调用父窗口函数
opener.setLang(seleVal);
//window.opener.document.getElementById("language_id").value = seleVal;
window.close();
}
</script> <body>
<form id="form1">
<div>
<table style="border: 2px solid #CCCCCC; width: 100%" >
<thead>
<tr>
<th>选择</th><th>语言</th><th>类型</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="radio" name="radio_name" value="java"></td>
<td><div>Java</div></td>
<td><div>必选</div></td>
</tr>
<tr>
<td><input type="radio" name="radio_name" value="js"></td>
<td><div>JavaScript</div></td>
<td><div>可选</div></td>
</tr>
</tbody>
</table>
</br>
<input type="button" id="Button1" value="确 认(方式一)" onclick="selectLanguage()" />
<input type="button" id="Button1" value="确 认(方式二)" onclick="selectLanguage2()" />
</div>
</form>
</body> <script type="text/javascript">
var parentVals = window.dialogArguments;
var parentLanguage = parentVals.language;
var radio_names = document.getElementsByName("radio_name");
for(var i=0; i<radio_names.length; i++)
{
if(radio_names[i].value == parentLanguage)
{
radio_names[i].checked = true;
break;
}
}
</script>
</html>

预览效果

window.showModalDialog的简单实践的更多相关文章

  1. window.showModalDialog()的简单用法

    //创建一个显示html内容的模态对话框: vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures]) //创建一个 ...

  2. 关于window.showModalDialog的一些配置

    关于window.showModalDialog的一些配置 一.window.showModalDialog的滚动条 其实纵向滚动条很好去掉,难办的就是横向滚动条.在Firefox下如果window. ...

  3. window.showModalDialog 与window.open传递参数的不同?

    简单的说,就是一个在弹出窗口之后可以做其它的事,即window.open 另一个在弹出窗口之后不能做其它的事,只能是关闭了当前的窗口之后才能做其它的事,即window.showModalDialog ...

  4. Thrift简单实践

    0.什么是RPC RPC(Remote Procedure Call - 远程过程调用),是通过网络从远程计算机上请求服务,而不需要了解底层网路技术的细节.简单点说,就是像调用本地服务(方法)一样调用 ...

  5. 让IE8在win7下面能显示使用window.showmodaldialog弹出窗口的地址状态栏

    问题来源:最近又要对老的系统进行改善,由于用到了window.showmodaldialog这个方法弹出窗口,比如从主界面弹出新增或者修改窗口,如下图所示,显示没有地址栏,进行代码修改还要找到相应的文 ...

  6. window.showModalDialog返回值和window.open返回值实例详解

    最近在谷歌浏览器下发现一个问题,就是使用谷歌浏览器已经不兼容window.showModalDialog了,所以还是改成使用window.open(). 一.window.showModalDialo ...

  7. 父窗口window.showModalDialog传值 子窗口window.returnValue返回值

    父窗口打开子窗口页面: var fatherWindow = document.all.dealReason;//想传的值 win = window.showModalDialog(strUrl, f ...

  8. window.open()&&window.showmodaldialog()

    open 打开一个新窗口,并装载URL指定的文档,或装载一个空白文档,如果没提供URL的话. 适用于 窗口 语法 window = object.open([URL[,name[,features[, ...

  9. Java 异步处理简单实践

    Java 异步处理简单实践 http://www.cnblogs.com/fangfan/p/4047932.html 同步与异步 通常同步意味着一个任务的某个处理过程会对多个线程在用串行化处理,而异 ...

随机推荐

  1. LeetCode 7 -- String to Integer (atoi)

    Implement atoi to convert a string to an integer. 转换很简单,唯一的难点在于需要开率各种输入情况,例如空字符串,含有空格,字母等等. 另外需在写的时候 ...

  2. MyEclipse中直接打开class文件的方法

    安装步骤: 1>下载jad.exe(这是一个class文件的反编译工具,但是是命令行运行编译,使用起来不是很方便:), 将其拷贝到%JAVA_HOME%/bin目录下(其他目录也可). 2> ...

  3. nodejs入门 SSH服务器远程部署nodejs2

    服务器安装nodejs昨天好像出了点问题 今天参考的链接是http://nodejs.cn/download/package-manager/#debian-and-ubuntu-based-linu ...

  4. CentOS下解压缩命令

    ——————————————— .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) —————— ...

  5. re模块详解

    #!/usr/bin/env python #-*- coding:UTF-8 -*- ##################################################### # ...

  6. iOS Block循环引用

    在介绍block循环引用前我们先了解一下typeof. typeof是什么??? typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型. 它返回值是一个字符串,该字符串说明运算数的类 ...

  7. linux精确查找命令

    1. find命令 命令 功能:搜寻文件与目录 功能: 语法: 语法:find 目录名 选项 常用选项有: 常用选项有: -name filename按名字查找 按名字查找 -type x 查找类型为 ...

  8. Sublime Text2 快捷键汇总

    一个好的编辑器,能大大提高编程的效率.如果能熟知软件的快捷键,那更能让你得心印手.这些内容都是我网上和自己实际使用过程中所收集而来的,在网络上应该也算比较全面的了吧.欢迎大家补充,我也会在以后慢慢添加 ...

  9. LAMP简易安装

    看,老鸟绕道–LAMP简易安装 导读 LAMP是企业中最常用的服务,也是非常稳定的网站架构平台.其中L-指的是Linux,A-指的是Apache,m-指的是mysql或者marriDB,p-php.相 ...

  10. 在ubuntu 14.04 64位添加32位库

    网上查了好多,结果发现这个是有用的,做个标记 sudo apt-get install libgtk2.0-0:i386