子窗口刷新父窗口 javascript 并调用父窗口函数

 

--父窗口

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Parent.aspx.cs" Inherits="Parent" %>

<!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 runat="server">
    <title>无标题页</title>
    <script language="javascript" type="text/javascript">
        function OpenWin()
        {
            window.open("child.aspx","new")
        }
       
        function shuaxin()
        {
            alert('我是被子页面调用的东西啊');
        }
       
        function shuaxinb()
        {
            window.location.href=window.location.href;
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        父窗口<br />
        <br />
        <input type="text"  id="ddddd" style="width: 323px"/><br />
        <input type="button" id="Button1" value="刷新1" onclick="javascript:shuaxinb();"  />
        <input type="button" id="d" value="打开1" onclick="javascript:OpenWin();" />
       
        </div>
    </form>
</body>
</html>

 

 

 

 

--子窗口

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Child.aspx.cs" Inherits="Child" %>

<!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 runat="server">
    <title>无标题页</title>
    <script language="javascript" type="text/javascript">
        function closew()
        {
           var parent= window.opener;
          // parent.location.reload();
            parent.shuaxin();
            var parentControl=parent.document.getElementById("ddddd");
            parentControl.value="我是被子窗口赋值过来的,哈哈";
            window.close();
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        子窗口<br />
       
        <input type="button" id="d" value="关闭1" onclick="javascript:closew();" />
    </div>
    </form>
</body>
</html>

 

 

 

 

 

在java web在编程中我们有时也要知道javascript在知识,在此我将刷新父窗体的两种方式(window.open()和window.showModalDialog())的javascript写出来供大家参考:

   > a.jsp中:window.open('b.jsp')我们可以在b.jsp页面中可以通过window.opener得到a.jsp的window对象再让地址刷新就可以了 --> window.opener.location.reload();

  > a.jsp中:window.showModalDialog('b.jsp')我们可以对b.jsp页面的window对象设一个返回值(window.returnValue=1;),然后在a.jsp中得到返回值进行判断,如果正确则可以调用window.location.reload()进行刷新。
         a.jsp: var result =  window.showModalDialog('b.jsp');if(result ==1) window.location.reload();
        b.jsp: window.returnValue=1;
这样就可以达到刷新的效果了。

 

 

 

 

你可能感兴趣的:(JavaScript)