2013-05-30 52 views
0

我有一個帶有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") 
+0

你使用jQuery的燈箱? – 2013-05-30 12:52:26

+0

[如何使用javascript函數傳遞值來彈出窗口?](http://stackoverflow.com/questions/13967099/how-to-pass-value-to-pop-up-window-using-javascript功能) –

+0

不,我不使用燈箱?我似乎無法得到彈出窗口關閉並填寫父表格上的數據 – user1342164

回答

1

你應該可以從你的彈出窗口在父窗口中激發一個Javascript方法。

因此,例如,在你的父窗口創建一個你想從你的孩子彈出調用一個函數:

function FillTextFromPopup(text){ 
     // populate your text here... 
} 

現在,您甚至可以從你的孩子彈出的窗口中調用這個函數,並且還關閉彈出通過添加一些像這樣的代碼,您的按鈕:

onClick="window.opener.FillTextFromPopup('yourTextString'); window.close();" 

使用這種方法,而不是直接訪問父文本框,如window.opener.document.getElementById('yourTextBox')也更清潔,你做父母的文本框的任何變化和可能的ID的唐沒有也要通過兒童彈出窗口進行。

+0

我會嘗試這個,我有一個問題是彈出不會關閉,當我打到x。我認爲這是因爲我擁有它時,文本框已集中彈出負載,並不會關閉,除非我最小化彈出。 – user1342164

相關問題