`
yxgyh
  • 浏览: 275661 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

showModalDialog 传值及刷新

阅读更多

(一)showModalDialog使用例子,父窗口向子窗口传递值,子窗口设置父窗口的值,子窗口关闭的时候返回值到父窗口.

farther.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">
        
<script language="javascript"> 
        
<!-- 
        
function openChild(){
        
var k = window.showModalDialog("child.html",window,"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="3333333333333" name="txt9"><br>
        返回的值:
<input id="txt11" type="text" name="txt11"><br>
        子窗口设置的值:
<input id="txt10" type="text" name="txt10"><br>
        
<input id="Button1" onclick="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" onclick="setFather()" type="button" value="设置父窗口的值" name="Button1"><br>
        输入返回的值:
<input id="txt2" type="text" name="txt2"><input id="Button2" onclick="retrunValue()" type="button" value="关闭切返回值" name="Button2">
        
<input id="Button3" onclick="" 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; 
        window.returnValue
=s; 
        window.close(); 
        } 
        
//--> 
        </script>
    
</BODY>
</HTML>

 


----------------------------
说明:
由于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">



(二)下面是关闭刷新父窗口的例子

farther.html
---------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
    
<HEAD>
        
<TITLE>New Document </TITLE>
        
<META NAME="Generator" CONTENT="EditPlus">
        
<META NAME="Author" CONTENT="">
        
<META NAME="Keywords" CONTENT="">
        
<META NAME="Description" CONTENT="">
        
<script language="javascript"> 
        
<!-- 
        
function openChild() 
        { 

        
var k = window.showModalDialog("child.html",window,"dialogWidth:335px;status:no;dialogHeight:300px"); 
        
if(k == 1)//判断是否刷新 
        { 
        alert('刷新'); 
        window.location.reload(); 
        } 
        } 
        
//--> 
        </script>
    
</HEAD>
    
<BODY>
        
<br>
        传递到父窗口的值:
<input id="txt9" type="text" value="3333333333333" NAME="txt9"><br>
        
<input type="button" value="openChild" onclick="openChild()" ID="Button1" 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="Button1" onclick="winClose(1)" type="button" value="关闭刷新父窗口" name="Button1">
        
<input id="Button2" onclick="winClose(0)" type="button" value="关闭不刷新父窗口" name="Button2">
        
<script language="javascript"> 
        
<!-- 
        
var k=window.dialogArguments; 
        
//获得父窗口传递来的值 
        if(k!=null
        { 
        document.getElementById(
"txt0").value = k.document.getElementById("txt9").value; 
        } 

        
//关闭窗口返回是否刷新的参数. 
        function winClose(isRefrash) 
        { 
        window.returnValue
=isRefrash; 
        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">
也可以在服务器端取消缓存,参考:
http://adandelion.cnblogs.com/articles/252137.html

 

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>

 

分享到:
评论

相关推荐

    showModalDialog 弹出窗口关闭不刷新父窗口最终实现了

    ### showModalDialog 弹出窗口关闭不刷新父窗口的实现方法 #### 一、背景介绍 在Web开发过程中,经常会遇到需要使用弹出窗口显示额外信息或进行特定操作的情况。`showModalDialog` 是一个非常实用的功能,允许创建...

    showModalDialog刷新窗口的例子

    本篇文章将深入探讨`showModalDialog`如何用于刷新窗口,并通过例子进行详细讲解。 `showModalDialog`的基本语法如下: ```javascript window.showModalDialog(url, windowObject, features); ``` - `url`:这是...

    在使用showModalDialog中为解决刷新时弹出新窗口时用到iframe所带来的一个问题

    这是因为`showModalDialog`通常会保留其状态,而页面刷新会重置这些状态,导致再次调用`showModalDialog`时,浏览器认为这是新的请求,所以创建了新的窗口。 为了解决这个问题,开发者通常会利用`iframe`来保持...

    ShowModalDialog父窗体向子窗体传值

    在JavaScript中,`showModalDialog`是一个用于打开模态对话框的方法,主要应用于IE浏览器,从版本4开始支持。模态对话框意味着用户必须关闭该对话框才能与父窗口进行交互。相反,`showModelessDialog`则创建一个非...

    针对window.showmodaldialog弹出窗体无刷新的详细使用

    在网页开发中,`window.showModalDialog` 是一个古老的 API,用于创建模态对话框,它可以在不刷新页面的情况下与用户交互。这个方法在现代Web开发中已经逐渐被`&lt;dialog&gt;`元素或JavaScript库如jQuery UI、Bootstrap ...

    JS中showModalDialog关闭子窗口刷新主窗口用法详解

    本文实例讲述了JS中showModalDialog关闭子窗口刷新主窗口用法。分享给大家供大家参考,具体如下: 网上找了好长时间 大都是window.opener.location.reload(),等等 都不是我想要的 最后终于发现了一个 想知道的就往下...

    父子窗口传值window.showModalDialog以及window.open用法简介

    window.showModalDialog以及window.open用法简介

    关于struts2里用javascript刷新window.showModalDialog的父页面

    ### 关于Struts2中利用JavaScript刷新window.showModalDialog的父页面 在Web开发中,尤其是在使用Struts2框架进行项目开发时,我们经常会遇到需要弹出模态对话框(modal dialog)的需求。其中一个常见的场景就是...

    showModalDialog及dialogArguments使用

    ### showModalDialog及dialogArguments使用详解 在Web开发中,`showModalDialog` 和 `showModelessDialog` 是Internet Explorer浏览器特有的方法,用于打开模态或非模态对话框。这两个函数允许开发者创建自定义的弹...

    showModalDialog和showModelessDialog使用心得

    1. **刷新问题**:使用`showModalDialog`时,如果页面中有`&lt;base target="_self"&gt;`,直接刷新可能会导致意外的行为。可以通过监听键盘事件,阻止F5键的默认刷新行为,确保页面状态的一致性。 2. **返回数据**:从...

    showModalDialog参数使用详解

    在JavaScript的世界里,`showModalDialog`是一个古老但仍然有用的函数,用于打开一个模态对话框,展示用户需要交互的信息。这个功能在处理用户输入、确认操作或展示详细信息时非常实用。本篇文章将深入探讨`...

    Javascript showModalDialog两个窗体之间传值

    Javascript 两个窗体之间传值实现代码javascript中还有一个函数window.showModalDialog也可以打开一个新窗体,不过他打开的是一个模态窗口,那么如何在父窗体和子窗体之间传值呢?我们先看该函数的定义:...

    C#实现父子窗体全传值案例

    "C#实现父子窗体全传值案例"着重展示了如何利用`ShowModalDialog`方法创建模态窗体并传递数据。模态窗体是一种在用户与窗体交互前必须先关闭的窗口,确保了用户对当前任务的专注。下面我们将详细探讨这个知识点。 ...

    showModalDialog

    "showModalDialog"是JavaScript中的一个古老但仍然有用的弹出窗口方法,用于在浏览器环境中打开一个新的对话窗口。这个方法在Web开发中主要用于创建模态对话框,即那些阻止用户与页面其余部分交互直到对话框被关闭的...

    使用selenium测试showModalDialog模态对话框

    然而,对于某些特定的功能,比如 Internet Explorer 中的 `showModalDialog` 方法,Selenium 存在一定的局限性。`showModalDialog` 是一个古老的浏览器API,用于创建模态对话框,它会阻塞页面的JavaScript执行,直到...

    解决window.showModalDialog跨域返回值

    在JavaScript中,`window.showModalDialog`是一个古老但仍然有用的函数,用于打开一个模态对话框,用户在对话框中进行交互,直到关闭对话框为止。然而,当涉及到跨域时,`showModalDialog`面临一个问题:它无法正确...

    showModalDialog技术文章

    在IT行业中,`showModalDialog`是一个非常特殊的浏览器API,主要用于弹出模态对话框,它在网页应用中起到了展示信息、获取用户输入或者执行特定任务的作用。这篇名为"showModalDialog技术文章"的博客文章可能详细...

    google不支持window.showModalDialog问题解决方案

    This is a `window.showModalDialog()` shim using a modal HTML5 `&lt;dialog&gt;` element and ECMAScript 6 Generators. It was tested in the latest Google Chrome with the *Enable Experimental JavaScript* flag ...

Global site tag (gtag.js) - Google Analytics