JavaScript实现弹出子窗口并传值给父窗口

新建父窗口页面:

加入以下脚本

代码如下:

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>First</title>
</head>
<script type="text/javascript">
function ShowDialog(Url)
{
      var  iWidth=560; //模态窗口宽度
      var  iHeight=300;//模态窗口高度
      var  iTop=(window.screen.height-iHeight-100)/2;
      var  iLeft=(window.screen.width-iWidth)/2;
      var returnValue=window.showModalDialog(Url, "newwindow", "dialogHeight:"+iHeight+"px; dialogWidth:"+iWidth+"px; toolbar:no; menubar:no; scrollbars:no; resizable:no; location:no; status:no;left:200px;top:100px;");
      document.getElementById("TextBox1").innerText=returnValue;
}
</script>
<body>
    <form id="form1" runat="server">
         <input id="Button1" type="button" value="button" onclick="ShowDialog('./second.aspx')" />
         <div><asp:TextBox ID="TextBox1" runat="server" Width="67px"></asp:TextBox></div>
     </form>
</body>
</html>

创建second.html页面:

代码如下:

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>second</title>
    <!--<base target="_self" ></base>-->
</head>
<script language="javascript">
    function closeDiag()
    {
        window.opener=null;
        window.close();
    } 
    function OK()
    {
        var Value=document.getElementsByName("myRadio");
        for(var i=0;i<Value.length;i++)
        {
            if(Value[i].checked)
            { 
                window.returnValue = Value[i].value;
                window.close();
            }
            else
            {
                document.getElementById("Lab_Info").innerText="没有选中项,请选择!";
            }
        }     
    } 
</script>
<body>
    <form id="form1" runat="server">
    <div>
          <asp:DataGrid ID="dgSjygl" runat="server" AllowPaging="True" AutoGenerateColumns="False"
                        BackColor="White" Font-Size="9pt" PageSize="5" Width="100%" Height="127px" OnItemDataBound="dgSjygl_ItemDataBound">
                        <PagerStyle Mode="NumericPages" />
                        <AlternatingItemStyle BackColor="Gainsboro" />
                        <ItemStyle BackColor="#EEEEEE" ForeColor="Black" HorizontalAlign="Center" />
                        <Columns>
                            <asp:TemplateColumn>            
                                <HeaderTemplate>
                                    <label>选择</label>
                                </HeaderTemplate>
                                <ItemTemplate>                                   
                                    <input type="radio" id="myRadio" name="myRadio"  value='<%# DataBinder.Eval(Container.DataItem, "id") %>'>
                                </ItemTemplate>
                                <HeaderStyle Font-Bold="True" HorizontalAlign="Center" Width="60px" />
                                <ItemStyle HorizontalAlign="Center" />
                            </asp:TemplateColumn>
                            <asp:BoundColumn DataField="ID" HeaderText="编号">
                                <HeaderStyle Font-Bold="True"  Width="75px" HorizontalAlign="Center"/>
                            </asp:BoundColumn>
                            <asp:BoundColumn DataField="MC" HeaderText="名称">
                                <HeaderStyle Font-Bold="True"  Width="90px" HorizontalAlign="Center"/>
                                <ItemStyle HorizontalAlign="Center" />
                            </asp:BoundColumn>
                            <asp:BoundColumn DataField="BT" HeaderText="标题">
                                <HeaderStyle Font-Bold="True" HorizontalAlign="Center"/>
                            </asp:BoundColumn>
                        </Columns>
                        <HeaderStyle BackColor="#7481BA" ForeColor="Yellow" Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False" Font-Size="Small" />
                    </asp:DataGrid>
    </div>
    <div>
          <input id="Btn_OK" type="button" onclick="OK()" value="确 定"/>
          <input id="Btn_Cancel" type="button" onclick="clickDiag()"  value="取 消" />
     </div>       
    </form>
</body>
</html>

以上就是本人实现这个简单功能的全部内容了,感觉应该还有更便捷的方法,有知道的小伙伴还请留言说明下。

(0)

相关推荐

  • JavaScript新窗口与子窗口传值详解

    window.open()支持环境: JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+ window.open(pageURL,name,parameters) pageURL 为子窗口路径 name 弹出窗口的名字 parameters 为窗口参数(各参数用逗号分隔) alwaysLowered | yes/no | 指定窗口隐藏在所有窗口之后 alwaysRaised | yes/no | 指定窗口悬浮在所有窗口之上 depended | yes/n

  • JavaScript实现在页面间传值的方法

    本文实例讲述了JavaScript实现在页面间传值的方法.分享给大家供大家参考.具体如下: 问题如下: 在 a.html 页面中,<form> 的 onsubmit 事件调用一个方法 foo( ),打开 b.html 页面的同时给 b.html 传递参数.方法 foo( ) 中需要传递变量参数到 b.html 页面,在 b.html 页面接受参数值,但不能使用服务器端技术. 解决代码如下: a.html页面如下: <html> <head> <title>

  • JAVASCRIPT实现的WEB页面跳转以及页面间传值方法

    但有时候,需要当某事件触发时,我们先做一些操作,然后再跳转,这时,就要用JAVASCRIPT来实现这一跳转功能. 下面是具体的做法: 一:跳转到新页面,并且是在新窗口中打开时: 复制代码 代码如下: function gogogo() { //do someghing here... window.open("test2.html"); } window是一个javascript对象,可以用它的open方法,需要注意的是,如果这个页面不是一相相对路径,那么要加http://,比如: 复

  • javascript showModalDialog传值与FireFox的window.open 父子窗口传值示例第1/2页

    先简单介绍一下基本知识: 一.window.open()支持环境: Java1.0+/J1.0+/Nav2+/IE3+/Opera3+ 二.基本语法: window.open(pageURL,name,parameters) 其中: pageURL 为子窗口路径 name 为子窗口句柄 parameters 为窗口参数(各参数用逗号分隔) 三.各项参数 其中yes/no也可使用1/0:pixel value为具体的数值,单位象素. 参数 | 取值范围 | 说明 alwaysLowered | y

  • js操作模态窗口及父子窗口间相互传值示例

    parent.hmtl 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset

  • JS父页面与子页面相互传值方法

    一.子页面是父页面通过window.open弹出的情况子页面要向父页面传值,只要在document前面加window.opener即可. 如: 1.父页面代码: <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><titl

  • JS中Iframe之间传值及子页面与父页面应用

    在js中,我们时常用到用iframe做系统框架,在子页面也,父页面之间的值传递是一个问题,下面是js获取父窗体和子窗体的对象js: 1.在iframe子页面中获取父页面的元素: a>window.parent.document这个是获取父页面document中的对象: b>如果要获取父页面js中的方法:window.parent.xxxx():xxxx()为方法: 2.在父页面中获取iframe子页面中的元素: a> 复制代码 代码如下: var child = document.get

  • javascript弹出页面回传值的方法

    本文实例讲述了javascript弹出页面回传值的方法.分享给大家供大家参考.具体实现方法如下: a1.html 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> Window 1 </TITLE> </HEAD>   <BODY> <H1>Windo

  • JS简单实现父子窗口传值功能示例【未使用iframe框架】

    本文实例讲述了JS简单实现父子窗口传值功能.分享给大家供大家参考,具体如下: 父窗口页面father.html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE>父窗口 </TITLE> <script language="javascript"> <!-- functio

  • js创建子窗口并且回传值示例代码

    Copy 直接可以使用哦 亲们! 复制代码 代码如下: //父窗口 function onClick(){ var k = showModalDialog( "view/WriteKey.jsp", 包含的页面 "newwindow", 固定取值 "dialogHeight:200px; dialogWidth:400px; 宽度 toolbar:no; 是否有工具栏 menubar:no; 是否有菜单栏 scrollbars:no; 滚蛋条 resiza

随机推荐