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. Parameter index out of range (2 > number of parameters, which is 1)

    今天在实现一个功能时遇到一个问题,解决了很久.结果是#{}与${}使用错误的原因.但是具体原因还不是很清楚,写此篇总结,知道的可以交流. 具体描述为:通过教师的头衔(1高级讲师2首席讲师)及名称进行模 ...

  2. [解决方案] pythonchallenge level 1

    http://www.pythonchallenge.com/pc/def/map.html g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amk ...

  3. PHP中CURL方法curl_setopt()函数的一些参数

    bool curl_setopt (int ch, string option, mixed value)curl_setopt()函数将为一个CURL会话设置选项.option参数是你想要的设置,v ...

  4. (转)浅析JS运行机制

    原文 从一个简单的问题谈起: 1 <script type="text/javascript"> 2 alert(i); // ? 3 var i = 1; 4 < ...

  5. android view:布局优化

    今天在图书馆看了一个android性能优化. 关于布局优化有几个小技巧: 1.尽量减少布局的嵌套,而使用相对布局,这样的话会减少布局对象的创建,并且可以再事件传递的时候减少传递嵌套. 2.使用incl ...

  6. WIN32服务程序(二):卸载服务

    卸载服务的过程是这样的,用OpenSCManager打开SCM,使用OpenService打开准备卸载的服务,通过QueryServiceStatus查询该服务的状态是否停止,如果否,则先停止该服务C ...

  7. Installshield如何实现升级覆盖文件

    这个简单的问题,问过的人不计其数,但是反馈者寥寥,并且往往不能顺利达成目标,只能采取复杂方式来实现,这里吐槽一下IS的帮助文档,很庞大很全,但是有些小技巧就是不讲. 网友冰雪孤独哥今天提供了及时的反馈 ...

  8. HowTo系列之virtualenv

    1. 简介 virtualenv是一个用于创建Python独立运行环境的命令行工具. 在我们使用python进行开发的时候,我们会依赖不同的Python版本和不同的库版本.当我们的项目需要依赖别的开发 ...

  9. import pysam 出错解决办法

    安装pysam后,import之,结果,出现报错: Library not loaded: libcurl.4.dylib 尝试很多办法,最终发现应当这样解决: # 首先重装curl brew ins ...

  10. Hadoop集群搭建安装过程(一)(图文详解---尽情点击!!!)

    Hadoop集群搭建(一)(上篇中讲到了Linux虚拟机的安装) 一.安装所需插件(以hadoop2.6.4为例,如果需要可以到官方网站进行下载:http://hadoop.apache.org) h ...