zoukankan      html  css  js  c++  java
  • window.showModalDialog与opener及returnValue


    首先来看看 window.showModalDialog 的参数

    1. vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures]) ;

    sURL : 打开窗口的地址;

    vArguments : 传递参数;

    sFeatures : 窗口属性列表;

    第一个参数是必须的, 后两个可以省略.

    这里我们要利用的就是第二个参数. 原理是将父窗口的被控制对象以参数的形式传递到子窗口, 在子窗口中直接控制这个对象即可.

    举例来说:

    parent.html

    复制代码
    <script type="text/javascript">
    
    function openWin(){
    // 子窗口地址
    
    var srcFile = "child.html";
    
    // 子窗口属性
    
    var winFeatures = "dialogHeight:300px; dialogLeft:200px;";
    
    // 将 From 的 ID 作为参数传递到子窗口
    
    var obj = getForm;
    
    // 打开子窗口
    
    window.showModalDialog(srcFile, obj, winFeatures);
    
    }
    
    </script>
    
     
    
     
    
    <form id="getForm"> 回传值:
    <input id="getValue" type="text" />
    </form>
    <input onclick="openWin()" type="button" value="打开" />
    复制代码

     

    child.html

    复制代码
     
    <script type="text/javascript"><!--
    function send(){
    
        // 获取参数传递的对象
    
        var obj = window.dialogArguments;
        // 控制对象
    
        obj.getValue.value = 'from Child';
    }
    
    // --></script>
    
    
    <a onclick="send();" href="#">Send</a>
    复制代码

     

    运行 parent.html , 单击 [打开] 按钮弹出对话框, 点击 Send 链接将值传递到 parent 的文本框中.

     

    传递的参数当然也可以是其他对象, 例如 window . 值得注意的是传递的是对象, 而不是字符串.

     

     

    window.showModalDialog 打开的子窗口,不支持 window.opener 属性 

    获取父窗口,需要显示作为参数传入 


    // a.aspx 
    window.showModalDialog("b.aspx", window); 


    // b.aspx 
    var theOpener = window.dialogArguments; 
    theOpener.close(); 

    // 对于内嵌 c.aspx -> 
    var outerOpener = window.top.dialogArguments; 
    outerOpener.close();

  • 相关阅读:
    判断输入的是否是汉字(中文,不包括中文符号)
    第XX行将截断字符串或二进制数据。语句已终止
    Joomla学习之旅开始啦
    bean加载与注入之重新理解 L
    Excelsior JET 7.6 MP5 发布
    Squid Analyzer 5.1 发布,Squid日志统计
    flashrd 1.3 发布,OpenBSD 安装器
    Oracle 宣布 MySQL 5.6 正式版发布
    Spring Hateoas 0.4 发布
    MacPorts 2.1.3 发布,Mac 软件包管理
  • 原文地址:https://www.cnblogs.com/iamconan/p/7383615.html
Copyright © 2011-2022 走看看