Opening a window with dependent=1 doesn't work

Hi all...

According to a Javascript manual I have, I can use the command dependent=1 when calling the window.open( ) method to cause the new window to be a child of the window who called that method... the problem is that I want to modify a value of an object of the parent window, but that object isn't found.  Another fact.. if a window is opened with dependent=1 it should close when the parent close, but it doesn't work either..

Any help will be greatly appreciated
Demarcy
demarcyAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

CJ_SCommented:
dammit, I lost everything I wrote here. Here goes again

dependent is not a valid variable in the window.open function. To achieve what you want however, you need to do something like:

to open:
mychildwindow = window.open(...)

to close:
mychildwindow.close();

to pass values to the parent:
window.opener.etcetc
(with etcetc being the object you want to refer to)

this isn't as long as i wrote it before, but hope it helps,
regards,CJ
0
lilian_kellyCommented:
dependent will only work in  Navigator 4 and it should be set to yes or no. Its yes by default.


Here is some code that will open a child window. The child window will change the value of the text box in the parent and then if you click the close button on the parent then the child window will close. It works for both IE and Netscape.

When you say object do you mean a java script object? I will try this out next. But in the mean time this may help.

parent.htm
______________________________________

<HTML>
<HEAD>

</HEAD>

<BODY>
This is the parent....
<form name="myForm">
      <input type="text" name="myText" value = "this is text from the parent">
      <input type="button" name="closechild" value = "closechild" onclick="childWindow.close();">
</form>
<script>
alert("about to open a child window and let it set the value of the text box..");
childWindow = window.open("child.htm");
</script>
</BODY>
</HTML>

______________________________________
child.htm
_______________________________________


<HTML>
<HEAD>

</HEAD>

<BODY>
This is the child window
<script>
window.opener.document.myForm.myText.value = "Child has set this value";
</script>
</BODY>
</HTML>


0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
lilian_kellyCommented:
If you have a java script object MyObject you can call a fn or change a variable in the object of the opener from the child window by calling

window.opener.myObj.name = "Child name";

Here's all the code

Parent.htm
_____________

<HTML>
<HEAD>
<script>
function myObject(name){
      this.name = name;
}
</script>


</HEAD>
<BODY>
This is the parent....
After the child is opened then click the button to see the value of the variable in the object
<form name="myForm">
      <input type="text" name="myText" value = "this is text from the parent">
      <input type="button" name="blag" value = "get value" onclick="document.myForm.myText.value=myObj.name;">
</form>
<script>

myObj = new myObject("parentname");
document.myForm.myText.value = myObj.name;
childWindow = window.open("child.htm");

</script>
</BODY>
</HTML>

Child.htm
___________


<HTML>
<HEAD>

</HEAD>

<BODY>
This is the child window
<script>
window.opener.myObj.name = "Child name";
</script>
</BODY>
</HTML>
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
JavaScript

From novice to tech pro — start learning today.