Solved

Data from child window to parent window

Posted on 2001-06-27
1
498 Views
Last Modified: 2008-03-03
Hey,

I'm trying to pass the contents of a selection box from a pop-up window to a selection box in it's parent window, but I can't figure it out.

I know that this works:

Child window:

function sendToParent(){
window.opener.document.form.parent.value=document.form.child.value;
}

...

<input type="text" name="child" size=45>
<input type="button" name="cmdsend" value="Send" onclick="sendToParent()">

...

Parent window:

...

<input type="text" Name="parent" size=45>

...

SO what this does it whatever you type into the text field in child window and hit 'send', then that value will show up in the text field parent in the parent window.

What I was thinking was to use this logic with a selection box. In my child window, I add a new field into the database and update the table. The selection box displays all the current fields of that table. So I want to be able to send this newly updated info back to the parent window's selection box.

Is this possible? (Please say yes!)

I'm trying to do it this way instead of reloading the parent page, because if I reload the parent page, information that the user might have entered in input fields will disappear on the refresh, because that info isn't saved yet.

If there's another way to do this (Ie sending the updated information back to the parent window) I'm open for suggestions..

Cheers
0
Comment
Question by:scuzzy20
1 Comment
 
LVL 14

Accepted Solution

by:
puranik_p earned 50 total points
ID: 6233883
yes!!
it's very much possible.
some kind of code you can do with is given below
what u have to do is call these functions from appropriate buttons (don't forget you can keep buttons hidden and then call their "onclick" from child window
like..
window.opener.yourbutton.onclick()
)

here it goes...

<script language = "JavaScript" >
     function PopulatePeriod(Period)
     {    
          RemoveFromList()
          PopWith(Period)
     }
     
     function RemoveFromList()
     {
          var i;
          for(i=0;i<document.PeriodForm.START.length;i++)
          {
               {
                    document.PeriodForm.START.options[i] = null;
                    document.PeriodForm.END.options[i] = null;
                    i--
               }
          }
     }
     
     function PopWith(Period)
     {

          if (Period == "Weeks")
          {
               var ArrPeriod = new Array
               ArrPeriod[0] = "Select Week"
               for(i=1;i<=52;i++)
               {
                    ArrPeriod[i] = "Week" + i
               }
          }
          if (Period == "Months")
          {
               var ArrPeriod = new Array
               ArrPeriod[0] = "Select Month"
               ArrPeriod[1] = "JAN"
               ArrPeriod[2] = "FEB"
               ArrPeriod[3] = "MAR"
               ArrPeriod[4] = "APR"
               ArrPeriod[5] = "APR"
               ArrPeriod[6] = "JUN"
               ArrPeriod[7] = "JUL"
               ArrPeriod[8] = "AUG"
               ArrPeriod[9] = "SEP"
               ArrPeriod[10] = "OCT"
               ArrPeriod[11] = "NOV"
               ArrPeriod[12] = "DEC"
          }
          if (Period == "Quarters")
          {
               var ArrPeriod = new Array
               ArrPeriod[0] = "Select Quarter"
               for(i=1;i<=4;i++)
               {
                    ArrPeriod[i] = "Quarter" + i
               }
          }
          if (Period == "Years")
          {
               var ArrPeriod = new Array
               ArrPeriod[0] = "Select Year"
               for(i=1;i<=11;i++)
               {
                    ArrPeriod[i] = 1999 + i
               }
          }

          for(i=0;i<=ArrPeriod.length - 1;i++)
          {
               var optionValue = ArrPeriod[i]
               var newOptionName = new Option(optionValue);
               document.PeriodForm.START.options[document.PeriodForm.START.length] = newOptionName;
               var optionValue1 = ArrPeriod[i]
               var newOptionName1 = new Option(optionValue1);              
               document.PeriodForm.END.options[document.PeriodForm.END.length] = newOptionName1;
          }
     }
     
     function Go()
     {
          alert("FetchingRecords")
          document.PeriodForm.action = "PeriodSearch.asp?Mode=Submitted"
          document.PeriodForm.submit()
     }

</script>
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

I recently decide that I needed a way to make my pages scream on the net.   While searching around how I can accomplish this I stumbled across a great article that stated "minimize the server requests." I got to thinking, hey, I use more than one…
I have helped a lot of people on EE with their coding sources and have enjoyed near about every minute of it. Sometimes it can get a little tedious but it is always a challenge and the one thing that I always say is:  The Exchange of information …
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question