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

 更新时间:2014年12月18日 11:13:48   投稿:hebedich  
这篇文章主要介绍了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>

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

相关文章

  • javascript面向对象程序设计(一)

    javascript面向对象程序设计(一)

    这篇文章主要介绍了javascript面向对象程序设计,分享给大家一段代码,注释里讲解的非常详细,有助于我们理解面向对象,这里推荐给大家。
    2015-01-01
  • 浅谈typescript中keyof与typeof操作符用法

    浅谈typescript中keyof与typeof操作符用法

    本文主要介绍了typescript中keyof与typeof操作符用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 微信小程序实现计时器开始和结束功能

    微信小程序实现计时器开始和结束功能

    这篇文章主要为大家详细介绍了微信小程序实现计时器开始和结束功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • js 弹簧效果代码

    js 弹簧效果代码

    上次做图片滑动展示效果时做了减速效果,就想做一个加速效果。结合起来就想到了下面这个东西,当然只是类似弹簧,而不是真正的弹簧。
    2008-09-09
  • Google Map API更新实现用户自定义标注坐标

    Google Map API更新实现用户自定义标注坐标

    由于工作需要,又要开始看Google Map API 代码,今天再把我之前的GoogleMap类,又更新了下,加了个简单的用户自定义标注坐标的功能。看看吧(代码没怎么优化,别见笑)
    2009-07-07
  • javascript 动态加载 css 方法总结

    javascript 动态加载 css 方法总结

    有时候我们在设计网页的时候想动态的加载css文件,并不是将css文件写死在页面中,这时就可以使用下面方法.
    2009-07-07
  • 多种方法实现JS动态添加事件

    多种方法实现JS动态添加事件

    JS动态添加事件的方法有很多,我们可以使用setAttribute、attachEvent 和 addEventListener等等,感兴趣的朋友可以参考下
    2013-11-11
  • 你不知道的前端console用法分享

    你不知道的前端console用法分享

    console一定是各位前端最熟悉的小伙伴了,有些网站还会在控制台输出一些有意思的东西,下面这篇文章主要给大家介绍了关于前端console用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-08-08
  • js中将时间戳转化成YYYY-MM-DD HH:mm:ss的3种实现办法

    js中将时间戳转化成YYYY-MM-DD HH:mm:ss的3种实现办法

    最近开发中需要和后端进日期和时间传值,前后端约定为时间戳的格式,但是前端展示需要展示成年-月-日的格式,就需要进行日期和时间转换格式,这篇文章主要给大家介绍了关于js中将时间戳转化成YYYY-MM-DD HH:mm:ss的3种实现办法,需要的朋友可以参考下
    2024-06-06
  • 前端面向对象编程之ES5语法ES6语法详解

    前端面向对象编程之ES5语法ES6语法详解

    这篇文章主要为大家介绍了前端面向对象编程之ES5语法ES6语法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11

最新评论