2009-11-12 78 views
0

這裏是我的場景:我有一個父網頁,在我的JavaScript代碼中,我打開一個新窗口。這個新窗口是一個服務器端的aspx頁面。這個子頁面需要在數據庫中保存一些數據,保存後返回一個ID。現在,我需要將此ID從子級服務器頁面傳遞給父級的JavaScript。將值從子窗口傳遞給父項

基本上我所需要的子服務器代碼觸發: 1)的值返回 父頁面2的javascript代碼)關閉本身

會是怎樣做到這一點的可以接受的方式?

回答

1

設置父頁面的變量:

var dbID; 

當從DB調用返回打開的窗口,將其放置在打開的窗口的加載事件(或使用jQuery或其他框架的就緒事件)中:

window.opener.dbID = <%= newID %> 
// or whatever your framework's technique is for this :-) 
window.close(); 

您也可以使用相同的技術在父級上調用全局函數。

在「父」頁面:

function handleNewDBID(dbID) { alert("lookit me, i got an ID! " + dbID); } 

而打開的窗口:

window.opener.handleNewDBID(<%=newID%>); 
+0

我如何區分「當從打開的窗口中DB調用返回」 jQuery的?當然,我可以通過各種方式檢查newID是否爲null ..這就是你的意思? – sarsnake 2009-11-13 00:45:57

+0

修改了使用全局函數顯示的答案。你的JQuery代碼可以住在裏面。 (我認爲沒有一個更簡單的方法來做到這一點,而不使全局函數。) – roufamatic 2009-11-13 21:43:00

0

如果您在子窗口,並假設你的父窗口有反對childResult

window.opener.childResult = "yourIdHere"; 
相關問題