var newWin=window.open(...),那么newWin就是这个新窗口了
用newWin.变量名就可以控制子窗口的变量了
在子窗口中用opener就是指父窗口了,用opener.变量可以控制父窗口的变量了。

解决方案 »

  1.   


      弹出窗口的体验不好,我建议楼主 用 iframe 或者就用个 <div>  先把它隐藏了, 要弹出效果时,在用js把它显出来, 
     
       感觉和弹出一样, 而且不会被浏览器禁掉
      

  2.   


    <SCRIPT LANGUAGE="JavaScript">
    function openwin()
    {
    var r = window.showModalDialog("2.html");
    var input = document.getElementsByName("c");
    for(var i=0;i<input.length ;i++ )
    {
    if(r.indexOf(input[i].value)>-1)
    input[i].checked=true;
    }
    }
    </SCRIPT>
    <INPUT TYPE="checkbox" NAME="c" value="1">1
    <INPUT TYPE="checkbox" NAME="c" value="2">2
    <INPUT TYPE="checkbox" NAME="c" value="3">3
    <INPUT TYPE="button" VALUE="open window" ONCLICK="openwin()">2.html<SCRIPT LANGUAGE="JavaScript">
    function back()
    {
    var input = document.getElementsByName("c");
    var arr = new Array()
    for(var i=0;i<input.length ;i++ )
    {
    if(input[i].checked)
    arr.push(input[i].value);
    }
    window.returnValue=arr.toString();
    window.close();
    }
    </SCRIPT>
    <INPUT TYPE="checkbox" NAME="c" value="1">1
    <INPUT TYPE="checkbox" NAME="c" value="2">2
    <INPUT TYPE="checkbox" NAME="c" value="3">3
    <INPUT TYPE="button" VALUE="ok" ONCLICK="back()">
      

  3.   

    父窗口<html>
    <head>
    <title>
    </title>
    <script language="javascript">

    function showdlg(){
    var para = new Array();
    para.push( text1.value );
    para.push( text2.value );
    para.push( text3.value );

    var val= window.showModalDialog( "child.html", para );
    var msg = "你选择了:\n" ;

    for ( i = 0; i < val.length; i ++ ){
    msg += val[i] + "\n";
    }

    alert( msg );
    }


    </script>
    </head>
    <body>
    <input type="text" value="value01" id="text1"><br>
    <input type="text" value="value02" id="text2"><br>
    <input type="text" value="value03" id="text3"><br>
    <input type="button" value="open" onclick="showdlg()"/>
    </body>
    </html>
    子窗口(child.html)<html>
    <head>
    <title>
    </title>
    <script language="javascript">
    function init(){
    var para = window.dialogArguments;
    with( lst1 ){
    for( i=0; i< para.length; i++ )
    options.add( new Option( para[i], para[i]) ); 
    }
    }

    function quit(){
    var retVal = new Array();

    for(i=0;i<lst1.options.length;i++)
    {
    if(lst1.options[i].selected) retVal.push(lst1.options[i].value);
    }
    window.returnValue = retVal;
    window.close();
    }
    </script>
    </head>
    <body onload="init()">
    <select id="lst1" size="3" MULTIPLE>
    </select>
    <input type="button" value="test" onclick="quit()"/>
    </body>
    </html>