简体   繁体   中英

How to pass data from Parent window to pop-up window

parent window is : http://localhost:8080/webApp/index.html by clicking on given Button, a pop-up window appears and i want to send some data as innerHTML from parent window to pop-up window. i am using below function to appear the pop-up window

<script type = text/javascript>
     window.open("popup.html", "popup",'toolbar = no, status = no beforeShow');
</script>

popup window url is : http://localhost:8080/webApp/popup.html

Now i want to send data ( innerHTML text) from parent window to popup window and i know it can be post to server using AJAX and then add into popup page, But i do not want to send this innerHTML text (data) to server, I just want to use js function to perform my task at client side only. Is it possible?

server side : java, servlet
Client Side : jQuery, javascript

why not try simple window handler like:

x = window.open("....","..","...");
x.document.write("bla bla bla");

The idea here is, when we do refer only document.write and other document level command it refers to current window ie. if we say document.getElementById("xxx") then its actually for current window like window.document.getElementById("xxx"); If we want it from popup window then we need to assign a handler for that window using:

x = window.open(".....")

and we can use that handler to perform as same as in current window. instead of document.getElementByID use x.document.getElementById

Hope this helps.

If you just need to pass some data, you can add a global variable to your popup by saving the return value of window.open and then setting a property on it. If you want to manipulate the HTML of the popup window, you can create a jQuery object of the popup window's body.

var popup = window.open("popup.html", "popup",'toolbar = no, status = no beforeShow');
popup.dataFromParent = 'Some Data';

var $popupBody = $(popup.document.body);
// Manipulate $popupBody just like you would any other jQuery object.

Try this :

parent window js :  window.open("popup.html", "popup",'toolbar = no, status = no beforeShow');

children/pop-up window js : window.opener.document.getElementById("parent_window_id").innerHTML;

Normally you can not access any function or data of parent window from Child/popup window unless you use window.opener = parent window (this is just reference of parent window) and then get any id, function or data(innerHTML)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM