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. SharePoint 2013 中的 PowerPoint Automation Services

    简介                许多大型和小型企业都将其 Microsoft SharePoint Server 库用作 Microsoft PowerPoint 演示文稿的存储库.所有这些企业在 ...

  2. Oracel查询根据部分字段去重复

    一般一个表的id是唯一的,如果除去id则会有重复数据,有时做项目时查询要求根据某几个字段去掉重复记录,并且查询保留id 以下是Oracel查询时根据部分字段去重复,例如,查询的字段包括id,Sys,C ...

  3. BZOJ 1046 最长不降子序列(nlogn)

    nlogn的做法就是记录了在这之前每个长度的序列的最后一项的位置,这个位置是该长度下最后一个数最小的位置.显然能够达到最优. BZOJ 1046中里要按照字典序输出序列,按照坐标的字典序,那么我萌可以 ...

  4. 【LeetCode OJ】Binary Tree Level Order Traversal

    Problem Link: https://oj.leetcode.com/problems/binary-tree-level-order-traversal/ Traverse the tree ...

  5. 20145210 20145226 《信息安全系统设计基础》实验五 简单嵌入式WEB服务器实验

    20145210 20145226 <信息安全系统设计基础>实验五 简单嵌入式WEB服务器实验 结对伙伴:20145226 夏艺华 实验报告封面 实验目的与要求 · 掌握在ARM开发板实现 ...

  6. Error: unable to connect to node rabbit@mail: nodedown

    某天,开启一个应用时,发现连接rabbitmq失败,本来想用rabbitmqctl来查看队列,结果提示“Error: unable to connect to node rabbit@mail: no ...

  7. 【转】为现代JavaScript开发做好准备

    原文转自:http://blog.jobbole.com/66135/ 今天无论是在浏览器中还是在浏览器外,JavaScript世界正在经历翻天覆地地变化.如果我们谈论脚本加载.客户端的MVC框架.压 ...

  8. Neo4j 查询已经创建的索引与约束

    在Neo4j 2.0之后为cypher语法增加了一些类似于DDL的语法,能够自己创建索引,约束等等. 有如下的方法可以查询到当前图数据库的索引数量: neo4j-shell 使用:index –ind ...

  9. Android 性能测试

    写在前面: 测试一道,博主接触的也是皮毛而已,没有接触过rom的测试,下边所说的都是博主接触过的app的性能测试.我只谈方法,少提概念.各位大神不喜勿喷. 概述 除启动时间外,我们应该做的测试,可能需 ...

  10. java hook

    linux下 hook的触发,需要 发送信号为15. 后续补充具体内容.