Let’s say we have something like the next scenario:
1. We have a popup window for editing a record.
2. We need to select a value from a complex list of records, so we need another popup for this select.
Problem:
Our second popup is bigger then the first one, so we need to open it from our main page.
By now, we manage to do this really easy. The main issue is when trying to pass the selected value from the second popup to first one. Remeber that we opened it from the main page.
Solution:
In the first popup we will have a function for opening the second popup.
In this function we set a var childPage from the main page as a reference to our first popup.
function openPopup(){
window.parent.setHiddenPageChild(window);
window.parent.OpenModalWindow(params);
}
On the main page we have the setHiddenPageChild function
var childPage;
function setHiddenPageChild(child){
childPage=child;
}
and setRecordFromResponse function that will pass the selected value from the second popup to the first one.
This function will be called from the second popup like this: window.parent.setRecordFromResponse(response)
function setRecordFromResponse(response){
childPage.UseSelectedRecord(response);
//childPage served us well, so we will let it retire
childPage=null;
}
Response is the value selected in the second popup. It can be an id, a value or an object.
Now we use childPage that was initialized at a previous step. This is how we can have access to the functions of the first popup