如何使用Javascript中的window.open将值从子窗口返回到父窗口?

时间:2014-04-02 04:08:31

标签: javascript jquery html dom

我有一个父窗口,我正在使用window.open打开一个子窗口,如下所示。我想从子窗口获取一个布尔值,我将在父窗口中执行我的任务。

function openChildWin() 
{   
    var childWin = window.open("childWin.html", "_blank", "height=400, width=550, status=yes, toolbar=no, menubar=no, location=no,addressbar=no); 
    if (childWin)
    {
        //some logic
    }
    else
    {
        //some logic
    }
} 

**childWin.html**



 <!DOCTYPE html>
    <html lang="en">
      <head>

        <script type="text/javascript">

            function OKClicked()
            {
                //return true; //I want to return true here
                            window.close(); //Close this child window  
            }

        </script>

      </head>
      <body>
        <button type="button" id="OKButton" onclick="OKClicked()">Click ME</button>
      </body>
     </html>

单击按钮时,我想从此处返回true。但这一切都不适合我。我在这里缺乏语法吗?

2 个答案:

答案 0 :(得分:10)

你可以这样做:

在父母:

function openChildWin() {   
    var childWin = window.open("childWin.html", "_blank", "height=400, width=550, status=yes, toolbar=no, menubar=no, location=no,addressbar=no"); 
}
function setValue(val1) {
   // do your logic here
}
弹出窗口中的

function OKClicked() {
    window.opener.setValue(true);
}

答案 1 :(得分:0)

使用以下代码,并将test替换为您的元素ID。

var parentDoc = window.opener.document;
parentDoc.getElementById("test").value = document.getElementById("test").value;