博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jsp showModalDialog父子窗口传值
阅读量:6608 次
发布时间:2019-06-24

本文共 4107 字,大约阅读时间需要 13 分钟。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 

<HTML> 
<HEAD> 
<TITLE>New Document </TITLE> 
<META content="EditPlus" name="Generator"> 
<META content="" name="Author"> 
<META content="" name="Keywords"> 
<META content="" name="Description"> 
<script language="javascript"> 
<!-- 
function openChild(){ 
var aa = document.getElementById("txt9").value; 
var k = window.showModalDialog("child.html",aa,"dialogWidth:335px;status:no;dialogHeight:300px"); 
if(k != null) 
document.getElementById("txt11").value = k; 
//--> 
</script> 
</HEAD> 
<BODY> 
<FONT face="宋体"></FONT> 
<br> 
传递到父窗口的值:<input id="txt9" type="text" value="33333" name="txt9"><br> 
返回的值:<input id="txt11" type="text" name="txt11"><br> 
子窗口设置的值:<input id="txt10" type="text" name="txt10"><br> 
<input id="Button1" οnclick="openChild()" type="button" value="openChild" name="Button1"> 
</BODY> 

</HTML> 

child.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 

<HTML> 
<HEAD> 
<TITLE>New Document </TITLE> 
<META content="EditPlus" name="Generator"> 
<META content="" name="Author"> 
<META content="" name="Keywords"> 
<META content="" name="Description"> 
<meta http-equiv="Expires" content="0"> 
<meta http-equiv="Cache-Control" content="no-cache"> 
<meta http-equiv="Pragma" content="no-cache"> 
</HEAD> 
<BODY> 
<FONT face="宋体"></FONT> 
<br> 
父窗口传递来的值:<input id="txt0" type="text" name="txt0"><br> 
输入要设置父窗口的值:<input id="txt1" type="text" name="txt1"><input id="Button1" οnclick="setFather()" type="button" value="设置父窗口的值" name="Button1"><br> 
输入返回的值:<input id="txt2" type="text" name="txt2"><input id="Button2" οnclick="retrunValue()" type="button" value="关闭切返回值" name="Button2"> 
<input id="Button3" οnclick="" type="button" value="关闭刷新父窗口" name="Button3"> 
<script language="javascript"> 
<!-- 
var k=window.dialogArguments; 
//获得父窗口传递来的值 
if(k!=null) 
document.getElementById("txt0").value = k.document.getElementById("txt9").value; 
//设置父窗口的值 
function setFather() 
k.document.getElementById("txt10").value = document.getElementById("txt1").value 
//设置返回到父窗口的值 
function retrunValue() 
var s = document.getElementById("txt2").value; 
alert(s);
window.returnValue=s; 
window.close(); 
//--> 
</script> 
</BODY> 
</HTML> 

说明 

1.下面是取消客户端缓存的: 
<meta http-equiv="Expires" CONTENT="0"> 
<meta http-equiv="Cache-Control" CONTENT="no-cache"> 
<meta http-equiv="Pragma" CONTENT="no-cache"> 
也可以在服务器端取消缓存,参考脚本之家下一篇文章 
2.向父窗口传递阐述在ASP.NET中也可以是用aaa.aspx?id=1的方式传递. 
3.不刷新父窗口的话在父窗口中直接这样一来设置可以. 
<script> 
window.showModalDialog("child.html",window,"dialogWidth:335px;status:no;dialogHeight:300px"); 
</script> 
4.在子窗口中若要提交页面的话要加入:,这样就不会打开新窗口了. 
<head> 
<base target="_self"> 
</HEAD> 

a.htm

<html>

<script type="text/javascript">
function openWin() 
//var return_value_new = //window.showModalDialog("b.htm",[window],"toolbar:no;dialogWidth:500px;dialogHeight:400px;directories:no;status:no;scrollbars:yes;resize:no;menub//ar:no");
var aa = window.showModalDialog('b.htm','userids','dialogWidth=500px;dialogHeight=400px;');
document.getElementById("userids").value = aa; 
alert(aa);
  
}
</script>
  <body>
      <input type="button" value="a" οnclick="openWin()">
 <input type="text" id="userids" name="userids">
  </body>
</html>

b.htm

<html>
<script type="text/javascript">
function closeWin() 
window.returnValue = "1";
window.close();
}
function returnValue(){
   var msg = window.dialogArguments;
   alert(msg);
   window.returnValue = "phone"; 
   window.close();
}
</script>
  <body>
      <input type="button" value="b" οnclick="returnValue()">
  </body>
</html>
<!-- showModalDialog打开的窗口,子窗口可以通过window.dialogArguments来获取父窗口中的参数 -->
<!--
var time =new Date().getTime(); 
//关于加上那个 (new Data()) 是要避免showModalDialog页面自动缓存的问题,导致第二次打开页面,数据没有被刷新,这是因为showModalDialog页面如果每次的URL一样的话,它会自动显示以前在缓存里面的数据。 
var url = 'itsmOndutyPlanWork-selectUser.action?date='+time+'&onduty_plan_id='+ID; 
window.showModalDialog(url, self , "dialogHeight:600px; dialogWidth:400px"); 
说明: 
由于showModalDialog缓存严重,下面是在子窗口取消客户端缓存的设置.也可以在服务器端取消缓存,参考: 
http://adandelion.cnblogs.com/articles/252137.html 
<meta http-equiv="Expires" CONTENT="0"> 
<meta http-equiv="Cache-Control" CONTENT="no-cache"> 
<meta http-equiv="Pragma" CONTENT="no-cache"> 
-->

 

转载地址:http://jwiso.baihongyu.com/

你可能感兴趣的文章
找到一个适合的分布式文件系统之各种分布式文件系统优缺点对比
查看>>
索引失效的几个原因
查看>>
五险一金,你清楚吗?
查看>>
Ip核_fifo
查看>>
repquota命令--Linux命令应用大词典729个命令解读
查看>>
rabbitmq 管理及常用命令
查看>>
HTTP要被抛弃? 亚洲诚信携手宝塔开启HTTPS加密快速通道
查看>>
6.6 tar打包
查看>>
Spring MVC核心技术
查看>>
TCP协议如何保证传输的可靠性
查看>>
Spring Cloud云架构 - SSO单点登录之OAuth2.0 登出流程(3)
查看>>
软件开发各阶段交付物列表
查看>>
ntp服务器的搭建
查看>>
六、nginx搭建织梦DedeCms网站
查看>>
Tair学习小记
查看>>
网卡绑定(服务器&&交换机),缓存服务器Squid架构配置
查看>>
web网站加速之CDN(Content Delivery Network)技术原理
查看>>
sed的基本用法
查看>>
一个不错的shell 脚本入门教程
查看>>
Ansible之playbook的使用
查看>>