尝试将表单值从弹出窗口传递到JS中的Parent窗口

时间:2014-02-18 19:13:53

标签: javascript html5 popup parent-child

这是父代码:

<!DOCTYPE HTML>

<img id="header" src="www.google.com" alt="image">

<input type="text" id="txtName" />

<input type="button" value="Select" onclick="imageReplacement();" />


<script>

function imageReplacement() {

var imager = document.getElementsByTagName("img")[0]
popitup();

}

var popup;
function popitup() {
    popup = window.open("Popup.html", "Popup", "width=300,height=100");
    popup.focus();
    return false
}

</script>

这是弹出式代码:

<!DOCTYPE HTML>
<input name="imageNew" id="imageNew"></input>
<br />
<br />
<input type="button" value="Select" onclick="SetName();" />
<script type="text/javascript">
function SetName() {

        var txtName = window.opener.document.getElementById("txtName");
        txtName.value = document.getElementById("imageNew").value;
        window.close();

}
</script>

现在,弹出窗口中设置的任何值都不会传输到父窗口。这是可以使用javascript还是你需要一个Web服务来传输值?

1 个答案:

答案 0 :(得分:0)

我还没有尝试过是否可以在子窗口中设置父窗口的html元素的值。但是你绝对可以设置父窗口对象的属性。此外,在弹出窗口中定义一个onclose处理程序,当弹出窗口在父窗口中关闭时调用该窗口。调用close-handler时,您可以提取已设置弹出窗口的属性的值。

希望这有点帮助,并为你提供一些克服这个问题的想法。