zoukankan      html  css  js  c++  java
  • 父窗体与子窗体调用总结

    【总结】

    1.使用window.showModalDialog方法

      父窗体:var retrunValue=window.showModalDialog(...)方法获得子窗体的值

      子窗体:

        a.获得父窗体控件的值: window.dialogArguments.getElementById(...)

               b.子窗体返回值给父窗体: window.returnValue=....;window.close();

    2.使用window.open方法

      opener.****  为调用父窗体

         例如:opener.location.reload(); 父窗体刷新

          opener.refresh();  调用父窗体refresh() js方法

                 opener.getElementById("btnAdd").click(); 调用父窗体执行按钮操作 

    //.......................................................使用window.showModalDialog方法.................................................................... 

    <!-- ======  父窗体,我取名为parentform.html  ==== -->

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <title>弹出窗口内录入数据确定后返回给父窗体--主窗体</title>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="qiujy">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">

    <script language="javascript" type="text/javascript">
    function doInput()
    {
    var win = window.showModalDialog("Childform.html",window,"dialogWidth=500px;dialogHeight=300px;center=yes;status=no");
    if(win != null)
    {
      document.getElementById("parentTextBox").value = win;
    }
    }
    </script>

    </head>
    <body>在新弹出的窗体里输入数据,传输到父窗体.
    <br/>
    <br/>
    <br/>
    &nbsp;&nbsp;<input type="text" id="parentTextBox" /> <a href="javascript:doInput()">点这里弹出子窗体</a>
    </BODY>
    </HTML>

    <!-- ============= 父窗体代码结束 =============  -->

    <!-- ======= 子窗体:取名为childform.html  ======= -->

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <title> 弹出窗口内录入数据确定后返回给父窗体--子窗体</title>
    <META NAME="Generator" CONTENT="EditPlus">
    <META NAME="Author" CONTENT="qiujy">
    <META NAME="Keywords" CONTENT="">
    <META NAME="Description" CONTENT="">
    <base target="_self">
    </head>
    <body topmargin="0" leftmargin="0" scroll="no">
    </br>
    &nbsp;&nbsp;<input type="text" id="childTextBox"/>
    </br></br>
    &nbsp;&nbsp;<a href="javascript:doPassToParent()">点这里返回</a>
    </BODY>
    </HTML>
    <script language="javascript" type="text/javascript">
    document.getElementById("childTextBox").value = window.dialogArguments.document.getElementById("parentTextBox").value;
    function doPassToParent()
    {
    if(document.getElementById("childTextBox").value.length <=0)
    {
      alert("请填写数据");
      return;
    }
    window.returnValue = document.getElementById("childTextBox").value;
    window.close();

    }
    </script>

     

    //.......................................................使用window.open方法....................................................................  

    1.新建两个页面 一个是 Parent.html

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>父窗体</title>
    <script language="javascript" type="text/javascript">
    function OpenWindow(){
        window.open('son.html');
    }
    function setValue(m_strValue){
        document.getElementById("txt_Value").value = m_strValue;
    }
    </script>
    </head>

    <body>
    <form id="form1" name="form1" method="post" action="">
      <label>
      <input type="text" name="txt_Value" id="txt_Value" />
      </label>
      <label>
      <input type="button" name="btn_ShowClose" id="btn_ShowClose" value="按钮" onclick="OpenWindow();" />
      </label>
    </form>
    </body>
    </html>
    另一个是子窗体 :

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>子窗体</title>
    <script language="javascript" type="text/javascript" >
    function CloseWind(){
        opener.setValue("传值到父窗体");
        window.close();
    }
    </script>
    </head>

    <body>
    <form id="form1" name="form1" method="post" action="">
      <label>关闭
      <input type="button" name="btn_Close" id="btn_Close" value="按钮" onclick="CloseWind();"

    />
      </label>
    </form>
    </body>
    </html>
    2.通过子窗体执行的父窗体的setValue(m_strValue)来执行赋值操作.

  • 相关阅读:
    UVA 10131题解
    算法常见概念
    图算法概论
    POJ 1654 area 解题
    大数阶乘的位数和精确值计算
    printf()与 scanf()
    想编程之美竞赛
    所感所想
    Git 入门和常用命令详解
    使用crypto模块实现md5加密功能(解决中文加密前后端不一致的问题)
  • 原文地址:https://www.cnblogs.com/binfire/p/1734875.html
Copyright © 2011-2022 走看看