From a child window or a small window once opened, we can transfer any user entered value to main or parent window by using JavaScript. You can see the demo of this here. Here the parent window is known as opener. So the value we enter in a child window we can pass to main by using opener.document object model. So if the name of the form in parent window is f1 and the text box where we want the value to be passed is p_name ( in parent window ) then from the child window we can access them by using the object.
opener.document.f1.p_name
The value for this object can be assigned like thisopener.document.f1.p_name.value="Any value";
We will try to make it interactive so we will assign this to a value entered by the user. Then we will use one input box in child window and name it as c_name. So we can pass the value of the input box of child window to the parent window input box by this line.opener.document.f1.p_name.value = document.frm.c_name.value;
opener.document.f1.p_name.value = document.frm.c_name.value;
self.close();
Here is the demo, Click the button ( take care of popup blocker of your browser ) and enter your name in child window opened. Then once closed it will be available at parent window. To open the child window this is the code used in parent window
<form method=post action='' name=f1>
<table border=0 cellpadding=0 cellspacing=0 width=550> <tr>
<td ><font size=2 face='Verdana'>Your Name</font><input type=text name='p_name' size='8'>
<a href="javascript:void(0);" NAME="My Window Name" title=" My title here "
onClick=window.open("child3.html","Ratting",
"width=550,height=170,left=150,top=200,toolbar=1,status=1,");>Click here to open the child window</a>
</td></tr> </table></form>
Inside the Child window code is here
<html>
<head>
<script langauge="javascript">
function post_value(){
opener.document.f1.p_name.value = document.frm.c_name.value;
self.close();
}
</script>
<title>(Type a title for your page here)</title>
</head>
<body >
<form name="frm" method=post action=''>
<table border=0 cellpadding=0 cellspacing=0 width=250>
<tr><td align="center"> Your name<input type="text" name="c_name" size=12 value=test> <input type=button value='Submit' onclick="post_value();">
</td></tr>
</table></form>
In the above code take care that there is no line break ( in parent file ) in line saying onClick=window.open(...... Passing multiple values
You can pass multiple values from child window to parent window. Now we will have two input boxes. Only changes to above code is shown here. In parent window.<input type=text name='p_name' id=n1 size='8'> <input type=text name='p_name2' id=n2 size='8'>In child window
<html> <head> <script langauge="javascript"> function post_value(){ opener.document.f1.n1.value = document.frm.c_name.value; opener.document.f1.n2.value = document.frm.c_name2.value; self.close(); } </script> <title>(Type a title for your page here)</title> </head> <body > <form name="frm" method=post action=''> <table border=0 cellpadding=0 cellspacing=0 width=250> <tr><td align="center"> Your name<input type="text" name="c_name" size=12 value=test> <input type="text" name="c_name2" size=12 value=test2> <input type=button value='Submit' onclick="post_value();"> </td></tr> </table></form>
No comments:
Post a Comment