从父窗口获取复选框值到javascript中的弹出窗口

时间:2015-12-08 21:18:21

标签: javascript html jsp popup

我正在尝试将从父JSP填充的表单字段显示为弹出窗口,以通知用户填写了多少表单。 到目前为止,我只能显示文本字段值。我无法显示复选框值。下面是我编写的代码示例。我不知道为什么它不起作用。

Parent.jsp

Name: <input type="text" id="name"/>
Gender: Male<input type="checkbox" name="gender" id="male"/>
        Female<input type="checkbox" name="gender" id="female"/>
<a href="PopUp.jsp" target="_blank">View</a>

PopUp.jsp

<script>
function setThis(){
    document.getElementById("name").value=window.opener.document.getElementById("name").value;
    if(window.opener.document.getElementById("male").checked)
        document.getElementById("male").checked=true;
    if(window.opener.document.getElementById("female").checked)
        document.getElementById("female").checked=true;
}

</script>
<body onload="setThis();">
Name: <input type="text" id="name"/>
 Gender: Male<input type="checkbox" name="gender" id="male"/>
        Female<input type="checkbox" name="gender" id="female"/>
</body>

2 个答案:

答案 0 :(得分:0)

我认为如果你用window.open打开你的弹出窗口,你的window.opener应该正常工作。 这是一个非常粗略的示例,它将从父级复制复选框html。 家长(try.html)

<html>
<script>
function openpopup() {
    window.open('try2.html');
    return false;
}

</script>
<body>
    <form>
        <a href="" onclick="javascript:return openpopup()">popup</a>
        <input id='cb' type=checkbox>

   </form>
</body>
</html>

子页面(try2.html)          

function loaded() {
    if(window.opener) {
    document.getElementById('tb').value =   window.opener.document.getElementById("cb").outerHTML
    }
}
</script>
    <body onload="loaded()">
        <form>
            <input type=text id=tb>
       </form>
   </body>
   </html>

答案 1 :(得分:0)

使用稍微修改过的代码(查看href链接),这段代码对我有用。

    <html>
    <script>
    function openpopup() {
        window.open('try2.html');
        return false;
    }

    </script>
        <body>
            <form>

              Name: <input type="text" id="name"/>
        Gender: Male<input type="checkbox" name="gender" id="male"/>
            Female<input type="checkbox" name="gender" id="female"/><br />
     <a href="" onclick="javascript:return openpopup()">View</a>
   </form>

   

和我的try2.html(你的popup.jsp)

    <html>
    <script>


    function setThis(){
        document.getElementById("name").value=window.opener.document.getElementById("name").value;
        if(window.opener.document.getElementById("male").checked)
            document.getElementById("male").checked=true;
        if(window.opener.document.getElementById("female").checked)
            document.getElementById("female").checked=true;

    }
    </script>
        <body onload="setThis()">
            <form>

    Name: <input type="text" id="name"/>
     Gender: Male<input type="checkbox" name="gender" id="male"/>
            Female<input type="checkbox" name="gender" id="female"/>
           </form>
       </body>
       </html>

话虽如此,我已经避免使用弹出窗口,而是使用页面弹出对话框。大多数时候我使用JQuery UI Dialog http://jqueryui.com/dialog/