zoukankan      html  css  js  c++  java
  • JS获取子窗口中返回的数据

      在开发的时候,遇到了这样一个问题,客户填写自己的收货地址,可以新建,但同时也可以选择之前填写的,由于我们的客户本身就是商户,地址繁多,把它之前的地址简单用个下拉框罗列出来显然不合适,并且客户要求能够对地址通过姓名筛选,这样,选择地址就必须再开一个小窗来完成了,那么,小窗中填写的值怎么回传呢?

      js有个方法showModalDialog在这种情况下用的就比较多了,其作用是打开一个模态窗口,什么事模态窗口?就是打开后不能操作父窗口,只有子窗口操作完了,关闭了,才可以继续父窗口的动作。回到最开始的问题的话,就是给一个地址选择入口,点击触发事件btn_click()。

      父窗口JS

    function btn_click() 
    {
                var returnValue = window.showModalDialog('chooseAddr.aspx', window, 'dialogWidth=500px;dialogHeight=600px;status=no');
    
                if (vReturnValue !== "" && vReturnValue !== undefined) 
                {
                   //处理子窗口的返回值
                }
     }    
    

      子窗口中,在用户完成筛选选择等一系列动作以后,确定时,触发事件returnVal()。

    function returnVal() 
    {
                var rtArr = new Array();
                rtArr[0] = "test0";
                rtArr[1] = "test1";
                window.returnValue = retArr;
    
                window.close();//关掉子窗口,才能继续父窗口的操作
    }
    

      这样,就完成了父子窗口的“数据互动”,对了,父窗口怎么向子窗口传值呢,在本例下,我们需要知道操作用户的id才能给他选择自己之前填写过的地址,只需在

    window.showModalDialog的第一个参数,即打开的子窗口地址中加上参数?id=xxx,没错get方式传过去就OK了。
  • 相关阅读:
    Javascript Read Excel
    Rest API 操作List Items
    web安全入门课程笔记——SQL漏洞分析与利用
    web安全入门课程笔记——网站基础与信息搜集
    博客迁移通知
    Python查找指定文件
    博客园写作避坑指南【持续更新】
    Changes of user relationship in AD can't be correctly synchronized to SCSM
    博客地址改为 https://0xcreed.jxustctf.top
    AI:WEB:1 Walkthrough
  • 原文地址:https://www.cnblogs.com/ione/p/5535472.html
Copyright © 2011-2022 走看看