使用javascript将值从子窗口传递到父窗口

时间:2015-05-18 13:40:24

标签: javascript

我试图通过使用windows.opener设置元素属性(在本例中为值)将子弹出窗口中的值传递给父页面。弹出子项的脚本是:

<?php
  if(isset($_POST["Submit"]))
    {
      echo "<script>
      window.opener.document.getElementByName('garage_details[]').value = document.getElementsByName('garage_description[]').value;
      window.opener.document.getElementByName('garage_cost[]').value = document.getElementsByName('garage_cost[]').value;
      self.close();
      </script>";
     }
 ?>

当提交被发布时,弹出窗口没有关闭,所以我猜我在如何将值等同于错误

1 个答案:

答案 0 :(得分:1)

getElementsByName返回一个html节点集合,并将其视为单个元素。您需要选择集合的第一个元素。 (请注意,您需要在代码中的两个位置进行更改。)

document.getElementsByName('garage_description[]')[0].value; 
                                                  ^^^

如果您期望带有值的多个输入,则需要循环遍历类似数组的集合。