ASR
ASR

Reputation: 3549

How to send child page value to parent page?

I have two pages parent page and child page, I have to add the selected value from child page to parent page. The below is my code for parent page.

 function lookup(){
        window.open('https://c.ap4.visual.force.com/apex/accountpopup','popuppage','width=400,toolbar=1,resizable=1,scrollbars=yes,height=400,top=100,left=100');

}

 function updateValue(param)
{
    document.getElementById("name").value = param;
}

And below is my child/popup page code:

 function callaccount(param){
    var parent1=window.dialogAruments;
    var v=param;
     parent1.updateValue(param);
     window.close();
    }

the popup is not closing and sending values to parent page

Upvotes: 1

Views: 1614

Answers (3)

HirenMangukiya
HirenMangukiya

Reputation: 655

Use jQuery local storage

Your code should look like this page1 where you want to pass value:

if (typeof(Storage) !== "undefined") {
    // Store
    localStorage.setItem("variable", "value");
}
else {
    console.log("Sorry, your browser does not support Web Storage...");
}

Your page2 where you need that data:

if (typeof(Storage) !== "undefined") {
    // Retrieve
    console.log(localStorage.getItem("variable"));
}
else {
    console.log("Sorry, your browser does not support Web Storage...");
}

View output in console, and let me know it will helps you or not !

Upvotes: 1

Om Sao
Om Sao

Reputation: 7663

You can use window.opener. Please note that there are other functions in window like window.open, window.self, window.top and window.parent. But in your case, window.opener is more relevant, because it refers to the window which called window.open(...) So, your function should be:

function callaccount(param){
    var parent1=window.dialogAruments;
    var v=param;
     window.opener.updateValue(param);
     window.close();
    }

Thanks !

Upvotes: 1

prog1011
prog1011

Reputation: 3495

Use window.opener

You need to use window.opener as below in you child page.

childWindow.opener.document.getElementById('<id from parent form>').value = '123';

The opener property returns a reference to the window that created the window.

When opening a window with the window.open() method, you can use this property from the child window to return details of the parent window.

Upvotes: 0

Related Questions