我试图通过使用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>";
}
?>
当提交被发布时,弹出窗口没有关闭,所以我猜我在如何将值等同于错误
答案 0 :(得分:1)
getElementsByName返回一个html节点集合,并将其视为单个元素。您需要选择集合的第一个元素。 (请注意,您需要在代码中的两个位置进行更改。)
document.getElementsByName('garage_description[]')[0].value;
^^^
如果您期望带有值的多个输入,则需要循环遍历类似数组的集合。