从弹出窗口中获取数据到Magento中的父窗口

时间:2011-07-01 14:41:24

标签: magento

我正在开发一个Magento模块,该模块有一个用户必须输入订单号的表单。因此,我在表单中包含一个按钮,打开一个显示订单列表的弹出窗口。

继承人所做的一切 这是打开弹出窗口的按钮的代码

<button type="button" class="form-button" onclick="window.open(\''
.Mage::helper("adminhtml")->getUrl('*/inventory_receipt/selectOrder',array()
.'\',\'\',\'height=500,width=550\');"><span>'                               
.Mage::helper('adminhtml')->__('Lookup Order')
.'</span></button>

然后我在控制器中创建了一个selectOrder Action,它显示的网格几乎与销售/订单中的网格相似(刚刚从销售/订单中修改了Grid.php)。

现在我要实现的是当用户点击订单时,应使用所选订单号填充父表单并关闭弹出窗口。 有关如何完成这项工作的任何帮助吗?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

您可以使用弹出窗口中的javascript window.opener引用在原始文档中执行javascript。

但也许最好不要使用window.open弹出窗口,而是使用某种html图层。

答案 1 :(得分:0)

这是我最终做的事情。 我按照here上的步骤创建了一个额外的列,其中包含一个填充父窗口的按钮。 代码相同如下

public function render(Varien_Object $row)
{
return '<button type="button" class="form-button" onclick="opener.document.getElementById(\'reference_id\').value='.$row->getIncrementId().'; window.close();"><span>'
            .Mage::helper('adminhtml')->__('Select Order')
            .'</span></button>';
}