Javascript将值从弹出页面传递给父级

时间:2012-05-23 08:19:26

标签: php javascript popup

我有一个打开弹出页面的父页面。在弹出页面上,用户可以选择一个传递回父页面的值。

父页面上的代码段是:

<script type="text/javascript">  
function selectValue(id) 
{ 
    // open popup window and pass field id 
    window.open('sku.php?id=' + encodeURIComponent(id),'popuppage', 
      'width=400,toolbar=1,resizable=1,scrollbars=yes,height=400,top=100,left=100'); 
} 

function updateValue(id, value) 
{ 
    // this gets called from the popup window and updates the field with a new value 
    document.getElementById(id).value = value; 
} 

</script> 

并且该弹出窗口的代码片段为:

<script type="text/javascript"> 
function sendValue(value) 
{ 
    var parentId = <?php echo json_encode($_GET['id']); ?>; 
    window.opener.updateValue(parentId, value); 
    window.close(); 
} 
</script> 

我需要更改弹出页面代码,以便用户可以选择将其带到另一个页面的类别(仍然在弹出页面中)。现在,当他们在此页面中选择值时,由于父页面已更改,因此不会将其传递回父页面。

我可以编辑弹出代码以指回原始父页面吗?在我的情况下,父页面是newsalea.php。我可以这样做:

<script type="text/javascript"> 
function sendValue(value) 
{ 
    var parentId = <?php echo json_encode($_GET['id']); ?>; 
    window.opener.updateValue(newsale.php, value); 
    window.close(); 
} 

这样我将parentid硬编码到弹出页面中?这有可能吗?

谢谢, 瑞安      

1 个答案:

答案 0 :(得分:2)

无需使用window.open,您可以使用像jquery dialoge这样的弹出式JavaScript库!或fancybox 并简单地说parent.div =您的值