Javascript 将值从子窗口传递到父窗口

Javascript 将值从子窗口传递到父窗口,javascript,Javascript,我想在复选框中将多个值从子窗口传递到父窗口 但是,我能够将single checkbox的单个值传递给父窗口 但当我在子窗口中声明两个复选框时,父窗口显示未定义的值 子窗口代码: function post_value(){ opener.document.cat_tree.catselected.value = document.frm.child_name.value; self.close(); } 请注意尝试为这些多个复选框分配一个ID,并按以下方式执行: <inpu

我想在复选框中将多个值从子窗口传递到父窗口

但是,我能够将single checkbox的单个值传递给父窗口

但当我在子窗口中声明两个复选框时,父窗口显示未定义的值

子窗口代码:

function post_value(){
   opener.document.cat_tree.catselected.value = document.frm.child_name.value;
   self.close();
}

请注意

尝试为这些多个复选框分配一个ID,并按以下方式执行:

<input type="checkbox" name="child_name_1" id="child_name_1" value="value1" />
<input type="checkbox" name="child_name_2" id="child_name_2" value="value2" />

...

function post_value(){
    var all_values = '';
    all_values += document.getElementById('child_name_1').value;
    all_values += ', '+document.getElementById('child_name_2').value;
    opener.document.cat_tree.catselected.value = all_values;
    self.close();
}

...
函数post_值(){
var all_值=“”;
all_values+=document.getElementById('child_name_1')。值;
所有_值+=','+document.getElementById('child_name_2').value;
opener.document.cat_tree.catselected.value=所有_值;
self.close();
}

。。。也有可能您没有为子窗口中的复选框指定值,但我想这不太可能,因为它与单个复选框一起工作

下面是一个脚本,用于向父窗口发送用户名和密码:

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" >
            function post_value(){
                var all_values = '';
                all_values += 'id='+document.getElementById('id').value;
                all_values += '&username='+document.getElementById('username').value;
                all_values += '&password='+document.getElementById('password').value;
                window.opener.location='listing.php?'+all_values;
                self.close();
            }
        </script>

        <style type="text/css">
            body { background-color:#b0c4de; }
        </style>
    </head>

    <body>
        <form method="POST">
            <input type="hidden" id="id" name="id" value="<?=$_GET['id']?>">
            <h2>Log-In</h2>
            <p>Username:</p><input type="text" id="username" name="username">
            <p>Password:</p><input type="text" id="password" name="password">
            <input type="submit" name="login" Value="Log-In" onClick="post_value();" />
        </form>
    </body>
</html>

函数post_值(){
var all_值=“”;
所有_值+='id='+document.getElementById('id').value;
所有_值+='&username='+document.getElementById('username').value;
所有_值+='&password='+document.getElementById('password').value;
window.opener.location='listing.php?'+所有_值;
self.close();
}
正文{背景色:#b0c4de;}

您的“子窗口”是否在iframe中?我不理解您的问题,请进一步解释。您如何声明这两个复选框?你为他们使用的HTML代码是什么?当您有两个复选框时,您会对JavaScript代码进行哪些更改?是的,这是一种方法。。可能是最简单的,因为它需要对代码进行最小的更改。我需要在复选框中使用许多值。因此,只有使用相同的名称才能完成。你能推荐JS代码来完成吗?谢谢你的关注。我已经用Java代码和request.getParameterValues()解决了这个问题;