JackieLee
asked on
ASP .Net Finding a control on the parent window
Using Javascript in ASP .net I am attempting to alter the value of a control on the page that called the current page. The current page is a dialog window.
I am finding the window this way
var d2 = window.parent.document.all ;
and referring to the control this way
d2.hidDefaultServiceDetail
For some reason the above returns undefined. The control definitely exists and I have definitely spelt it correctly (I copied and pasted the name). I also can't access any other controls. The control is a text box and is not in a container control of any kind.
Any Ideas?
I am finding the window this way
var d2 = window.parent.document.all
and referring to the control this way
d2.hidDefaultServiceDetail
For some reason the above returns undefined. The control definitely exists and I have definitely spelt it correctly (I copied and pasted the name). I also can't access any other controls. The control is a text box and is not in a container control of any kind.
Any Ideas?
ASKER
d2.SupplierSearch is undefined
ASKER
The window is a web form. It's filename is SupplierSearch.aspx
Be careful with using document.all and document.Form1 in JavaScript to get access to a form element. If you are accessing a control that is within a UseControl or a repeater it will be prefixed with containercontrol_ and this will cause numerous problems. I would use .getElementByID if you know that you can rely on IE as your target browser. It gets past a lot of problems.
James :-)
James :-)
ASKER
How would one go about using .getElementByID I can't find it.
JackieLee,
Thanks for the reply... I may have been ambiguous...
Not the webform name (SupplierSearch.aspx) but the <form> name of the form on that .aspx page ie...
<body>
<form id="Form1" method="post" runat="server" onsubmit="return(chkuidpwd ());">
<asp:TextBox id="uid" runat="server"></asp:TextB ox><BR>
<asp:TextBox id="pwd" runat="server"></asp:TextB ox></P>
<asp:Button id="aspSubmit" runat="server" Text="aspSubmit" ></asp:Button>
</form>
</body>
In the above the form is called Form1
Have Fun,
Dante
Thanks for the reply... I may have been ambiguous...
Not the webform name (SupplierSearch.aspx) but the <form> name of the form on that .aspx page ie...
<body>
<form id="Form1" method="post" runat="server" onsubmit="return(chkuidpwd
<asp:TextBox id="uid" runat="server"></asp:TextB
<asp:TextBox id="pwd" runat="server"></asp:TextB
<asp:Button id="aspSubmit" runat="server" Text="aspSubmit" ></asp:Button>
</form>
</body>
In the above the form is called Form1
Have Fun,
Dante
ASKER
OK. My form id is actually Form1. I tried the following:
d2.Form1.hidDefaultService Detail
It is still undefined
d2.Form1.hidDefaultService
It is still undefined
ASKER
I just noticed that the current form is also called Form1 so I changed it's id to Form2. Now I get this error when I execute d2.Form1.hidDefaultService Detail
'd2.Form1.hidDefaultServic eDetail' is null or not an object
'd2.Form1.hidDefaultServic
ASKER
window.parent.document.all seems to reference the current window and not the parent window. Is this because it's a dialog window?
what about something like this (using code behind)
in this example I am looking for a textbox
foreach(Control ctrl in this.Controls)
if(ctrl.GetType()==typeof( TextBox))
if (((TextBox)ctrl).ID == "ID")
--Found It
in this example I am looking for a textbox
foreach(Control ctrl in this.Controls)
if(ctrl.GetType()==typeof(
if (((TextBox)ctrl).ID == "ID")
--Found It
simply ref as
window.parent.document.For m1.hidDefa ultService Detail;
or
var parent = window.parent.document;
parent.Form1.hidDefaultSer viceDetail ;
Have Fun,
dante
window.parent.document.For
or
var parent = window.parent.document;
parent.Form1.hidDefaultSer
Have Fun,
dante
ASKER
Dante,
That doesn't work because:
window.parent.document.For m1 is undefined
The question is Why does window.parent.document refer to the current form and not the parent form?
That doesn't work because:
window.parent.document.For
The question is Why does window.parent.document refer to the current form and not the parent form?
Sorry... Assumed window.parent was working correctly....
How did you open the child... Is it a frameset???
Have Fun,
Dante
How did you open the child... Is it a frameset???
Have Fun,
Dante
JackieLee,
Not sure how you are opening child however in anticipation of your answer;
showModelessDialog - allows interactivity between parent and child,
showModalDialog - prevents the parent from directly interacting with the child, the child has the focus, hence the Modal name.
Have Fun,
Dante.
Not sure how you are opening child however in anticipation of your answer;
showModelessDialog - allows interactivity between parent and child,
showModalDialog - prevents the parent from directly interacting with the child, the child has the focus, hence the Modal name.
Have Fun,
Dante.
ASKER
It's a modal dialog. I need to be able to parse one piece of information back to the parent. surely it's possible somehow.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
hidDefaultServiceDetail is not same as HIDDEFAULTSERVICEDetail
If the control is in a form... Since it is .Net it most probably is then ref like this...
Example assumes the Form the control is contained within is called Form1 Please update to the name of your FORM if different...
var d2 = window.parent.document.all
d2.Form1.hidDefaultService
Have Fun,
Dante