将一个值从弹出窗口传递到主窗体
问题描述:
我有一个带有gridview的弹出窗口,我想用选定的行/列的文本填充父窗体上的文本框。我在下面使用的代码工作,但它刷新与父窗体的弹出窗口并填充弹出窗口中的文本框。有没有办法,当按下“选择”它关闭弹出并将文本添加到父窗体上的文本框?将一个值从弹出窗口传递到主窗体
<asp:HyperLinkField DataNavigateUrlFields="ID, ProductCode, Item, RetailCost" HeaderText="Select"
DataNavigateUrlFormatString="Default.aspx?ID={0}&ProductCode={1}&Item={2}&RetailCost={3}"
Text="Select" />
ProductTextBox.Text = Request.QueryString("Item")
答
你应该可以从你的弹出窗口在父窗口中激发一个Javascript方法。
因此,例如,在你的父窗口创建一个你想从你的孩子弹出调用一个函数:
function FillTextFromPopup(text){
// populate your text here...
}
现在,您甚至可以从你的孩子弹出的窗口中调用这个函数,并且还关闭弹出通过添加一些像这样的代码,您的按钮:
onClick="window.opener.FillTextFromPopup('yourTextString'); window.close();"
使用这种方法,而不是直接访问父文本框,如window.opener.document.getElementById('yourTextBox')
也更清洁,你做父母的文本框的任何变化和可能的ID的唐没有也要通过儿童弹出窗口进行。
+0
我会尝试这个,我有一个问题是弹出不会关闭,当我打到x。我认为这是因为我拥有它时,文本框已集中弹出负载,并不会关闭,除非我最小化弹出。 – user1342164
你使用jQuery的灯箱? – 2013-05-30 12:52:26
[如何使用javascript函数传递值来弹出窗口?](http://stackoverflow.com/questions/13967099/how-to-pass-value-to-pop-up-window-using-javascript功能) –
不,我不使用灯箱?我似乎无法得到弹出窗口关闭并填写父表格上的数据 – user1342164