父子窗体返回值与互操作

1. 子页面调用父页面方法

parent page

  var ShowModalWin= function (url,win)
    {
        window.showModalDialog(url, win, "dialogWidth=800px;dialogHeight=450px;scroll:no");
    }

   function showWin_click(){

       ShowModalWin("UploadMeetingRec.html?userno=51052002320&rq=123&r="+Math.random(),window)

}

function bb(){alert(1);}

children page

//call parent page function

function Finish(msg) {
            window.parent.dialogArguments.bb(); 
        }

2. 子页面返回值给父页面

//parent page

function show(){
        var params = new Array();
        params[0] = "00000000000";
        params[1] ="1111111111";
        params[2]="22222222222";
        var style = "dialogHeight:600px;dialogWidth:800px;status:no";
        var k=window.showModalDialog("child.html",params, style);
        if(k.type==""){ //传递回的type为空的时候才刷新页面。
        alert("刷新我了");
        location.reload();
        }

   }

//child page

<script type="text/javascript">
        <!--// -->
        var s = new Object();
        s.type="";   //设为空就可以刷新父窗口
        window.returnValue=s;


        var l_array=new Array();
        l_array=window.dialogArguments;
        var aa=l_array[0];
        var bb=l_array[1];
        var cc=l_array[2];
        alert(aa);
        alert(bb);
        alert(cc);

        function closeWindow(){
        window.close();
        }

        function doNotRefresh(){
        var s=new Object();
        s.type="OK";//设置返回值,值随便写,不为空就可以。//这里返回不刷新父页面。
        window.returnValue=s;
        window.close();
        }
       
    </script>

原文地址:https://www.cnblogs.com/jeffry/p/5829365.html