window.showModalDialog的简单实践
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">
<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的简单实践的更多相关文章
- window.showModalDialog()的简单用法
//创建一个显示html内容的模态对话框: vReturnValue = window.showModalDialog(sURL [, vArguments] [,sFeatures]) //创建一个 ...
- 关于window.showModalDialog的一些配置
关于window.showModalDialog的一些配置 一.window.showModalDialog的滚动条 其实纵向滚动条很好去掉,难办的就是横向滚动条.在Firefox下如果window. ...
- window.showModalDialog 与window.open传递参数的不同?
简单的说,就是一个在弹出窗口之后可以做其它的事,即window.open 另一个在弹出窗口之后不能做其它的事,只能是关闭了当前的窗口之后才能做其它的事,即window.showModalDialog ...
- Thrift简单实践
0.什么是RPC RPC(Remote Procedure Call - 远程过程调用),是通过网络从远程计算机上请求服务,而不需要了解底层网路技术的细节.简单点说,就是像调用本地服务(方法)一样调用 ...
- 让IE8在win7下面能显示使用window.showmodaldialog弹出窗口的地址状态栏
问题来源:最近又要对老的系统进行改善,由于用到了window.showmodaldialog这个方法弹出窗口,比如从主界面弹出新增或者修改窗口,如下图所示,显示没有地址栏,进行代码修改还要找到相应的文 ...
- window.showModalDialog返回值和window.open返回值实例详解
最近在谷歌浏览器下发现一个问题,就是使用谷歌浏览器已经不兼容window.showModalDialog了,所以还是改成使用window.open(). 一.window.showModalDialo ...
- 父窗口window.showModalDialog传值 子窗口window.returnValue返回值
父窗口打开子窗口页面: var fatherWindow = document.all.dealReason;//想传的值 win = window.showModalDialog(strUrl, f ...
- window.open()&&window.showmodaldialog()
open 打开一个新窗口,并装载URL指定的文档,或装载一个空白文档,如果没提供URL的话. 适用于 窗口 语法 window = object.open([URL[,name[,features[, ...
- Java 异步处理简单实践
Java 异步处理简单实践 http://www.cnblogs.com/fangfan/p/4047932.html 同步与异步 通常同步意味着一个任务的某个处理过程会对多个线程在用串行化处理,而异 ...
随机推荐
- asp.net微信jsapi支付
1.前台页面: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"><head ru ...
- android基础(五)网络编程
android 的网络编程一般可以分为两种:基于Socket的,基于Http的. 一.socket与Http socket封装了TCP/IP协议,TPC/IP协议是传输层协议,主要解决数据如何在网络中 ...
- echo, print, print_r
echo 不是函数,没有返回值,因此只是用作输出的话会更快 print 和 print_r 有返回值,区别在于: print 用于打印一个字符串,print_r 可以打印一些复合类型,如: $arr= ...
- 用Python3实现表达式求值
一.题目描述 请用 python3 编写一个计算器的控制台程序,支持加减乘除.乘方.括号.小数点,运算符优先级为括号>乘方>乘除>加减,同级别运算按照从左向右的顺序计算. 二.输入描 ...
- html 涂改图片功能实现
网页源码直接贴了: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...
- linux删除文件后沒有释放空间
在Linux或者Unix系统中,通过rm或者文件管理器删除文件将会从文件系统的文件夹结构上解除链接(unlink).然而假设文件是被 打开的(有一个进程正在使用),那么进程将仍然能够读取该文件,磁盘空 ...
- Fedora下的解压
Fedora下解压缩的相关操作 以下内容转载自互联网,仅供个人学习之用. 对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕.别个不说,单单就压缩文件为例,我们知道在Wi ...
- 【海洋女神原创】How to: Installshield做安装包时如何添加文件
我一直以为这不是一个问题,可是没想到在几个群内,对于如何向安装包添加文件不解的大有人在,今日稍暇,整理成篇,以供参考 首先我想再大声地说一遍:不要再跟我说英文看不懂了!!!!你做了程序员这一行,就得逼 ...
- 学android: android-studio从main开始
android-studio 创建hello world很容易,一路next创建blank activity,再接好手机或者avd(andorid virtual device)就好了. 但是对于我 ...
- LintCode Climbing Stairs
You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb ...