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了。
时间: 2024-10-27 07:09:13

JS获取子窗口中返回的数据的相关文章

layer.js子窗口关闭并传数据到父窗的方法

昨晚整了很晚,一直找不到方法.去官网api看了好久,又在网上搜了很久 始终找不到答案.今天自己终于找到了方法. 难点:因为 确认和取消按钮都是在父窗 调用js生成的按钮.只能从父窗回调的时候去去数据并关闭子窗口.并不是子窗口自己关闭并把数据传到父窗.而网上给出的很多答案都是子窗口自己关闭并传数据到父窗的方法. [贴出我自己的代码,大概实现了流程.具体自己根据情况修改] 我的代码功能是 子窗口要传递数组给父窗,具体复杂的数据格式(如json等)类似 1.子窗口代码 var urls; functi

js获取url链接中的参数

js获取url链接中的参数:url传递参数这是常识,这里就不多介绍了,既然传递参数就要获取参数的值,下面就介绍一下如何实现此功能.代码如下: function request(paras){ var url="softwhy.com?a=1&b=2"; var paraString=url.substring(url.indexOf("?")+1,url.length).split("&"); var paraObj={} for

js获取一个字符串中指定字符串第n次出现的位置

1.JS获取一个字符串中指定字符串第n次出现的位置 了解类似的获取字符位置的方法: 1.1 charAt() 获取字符串指定位置的字符 用法:strObj是字符串对象,index是指定的位置,(位置从0开始数) strObj.charAt(index) 1.2 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置 用法:stringObject是字符串对象,searchvalue是指定的字符串值,fromindex(可有可无)指定开始匹配字符串值的位置,若无,表示从0位置开始

iframe 子窗口获取父窗口元素 父窗口获取子窗口元素

js 在父窗口中获取iframe中的元素 1. 格式:window.frames["iframe的name值"].document.getElementByIdx_x("iframe中控件的ID").click(); 实例:window.frames["ifm"].document.getElementByIdx_x("btnOk").click(); 2. 格式: var obj=document.getElementByI

Spy++获取子窗口的句柄

http://blog.csdn.net/pipisorry/article/details/46559139 问题: 如果要搜索的外部程序的窗口标题比较容易得到[],问题是比较简单的.如果窗口的标题不固定或者根本就没有标题,怎么得到窗口的类呢? Introduction Spy++是微软出品的用来获取Window窗口信息的一个小工具.Spy++中,最常用的一个功能,就是识别窗口.获取当前鼠标位置: 获取位于指定位置的窗口句柄: 获取窗口类别: 获取窗口内容或标题. Spy++ (SPYXX.E

js关闭子窗口,刷新父窗口

父页面js:function btnAdd_onclick() {window.open("xxx.jsp", "","height=600, width=650, top=100, left=200,z-look=yes,toolbar=yes, menubar=no, scrollbars=yes, resizable=yes ,alwaysRaised=yes,location=no, status=yes" );} function re

js获取子节点和修改input的文本框内容

js获取子节点和修改input的文本框内容 js获取子节点: $("#"+defaultPVItemId).children().eq(3); //获取某个选择器下的第四个子节点 例如:$("#"+defaultPVItemId).children().eq(3).find('input').val('当前位置'); //修改某个选择器下的第四个子节点的input节点的输入框文本内容 js修改属性内容: attr():该方法一般是获取某个属性值,或者修改某个属性值,

JS获取子节点、父节点和兄弟节点的方法实例总结

JS获取子节点.父节点和兄弟节点的方法实例总结 原生js 参考网址 Jquery 参考网址 原文地址:https://www.cnblogs.com/renxiuxing/p/10180558.html

在普通class里使用onActivityResult获取从一个activity返回的数据 (待解)

通常当我们需要从当前activity a启动一个activity b,并希望在b finish之前返回一些数据给a,就使用startActivityForResult,onActivityResult,setResult这些函数.但是这些函数是定义在Activity里面的,普通的class里面没有这些函数. 当我希望在一个fragment里面startActivityOnResult另一个activity,并将返回的数据交给fragment所属的activity处理,我在fragment里面定义