[Javascript] how do you access a form element from another frame ?

David Lovering dlovering at gazos.com
Tue Dec 16 12:31:59 CST 2003


I was referring to the return fields in the ASP form-handler, which usually
correspond to data-bearing objects in the HTML/Javascript space.

-- Dave

----- Original Message ----- 
From: "Hakan M." <hakan at backbase.com>
To: "[JavaScript List]" <javascript at LaTech.edu>
Sent: Tuesday, December 16, 2003 10:56 AM
Subject: Re: [Javascript] how do you access a form element from another
frame ?


> Err.
>
> David Lovering wrote:
>  > The fact that they sometimes try to access the same objects
>  > often proves confusing to newbies, so the distinction is
>  > an important one.
>
> Can you give me an example of server side ASP/VBScript and client side
> JavaScript accessing the *same* objects?
>
> Chris Tifer wrote:
>  > I'm not sure what this means as ASP Objects are server-side.
>  > JavaScript object are client-side. Two totally different
>  > scenarios here. There is no window object in ASP. Nothing
>  > equivalent.  The server doesn't understand cross-frame
>  > scripting. It doesn't even care about it.
>
> Right. And the browser doesn't understand ASP/VBScripting (well, IE
> understands VBScript, but that's CLIENT SIDE VBScript). It never even
> gets to the browser, since it's parsed before the server sends the page
> to the client, where the JavaScript starts kicking in.
>
>
> Hakan
>
> David Lovering wrote:
> > Chris' suggestion of fragmenting the object-access layer by layer
through
> > the object's DOM tree is a good one, as it enables you to test for the
> > existence of each before committing code/time to drilling down further.
> >
> > I didn't intend to intimate that ASP and Javascript were peers
(functionally
> > or otherwise), and I was aware of the client/server differences between
> > them -- much the same as with PHP (server-side) and Javascript
> > (client-side).  If my failure to make this distinguishing difference
clear
> > at the start confused folks, my apologies.  The fact that they sometimes
try
> > to access the same objects often proves confusing to newbies, so the
> > distinction is an important one.  As far as I'm concerned, ASP is
basicly a
> > CGI-like handler language (now I'll hear a loud howl from all the
ASP-lovers
> > out there!), so it is naturally less concerned about the originating
page
> > structure, and rather more focused on the passed variables/fields and
their
> > respective values.
> >
> > Also, the "short-hand" form of the
<document>.<frame>.<form>.<objectname>
> > designation MAY sometimes work, but again Chris' method of explicitly
> > referencing things by their proper element array designation is not only
> > more portable, but relatively bomb-proof (I've only seen one case where
it
> > doesn't work quite the way I imagine it should -- and that is with
entities
> > which have exotic layering, which is something Mozilla-esque browsers
don't
> > handle in quite the same fashion [read: "at all"]).
> >
> > The only time that the parent.top.frames["frameName"] syntax may NOT
work is
> > when you are accessing something in a child-window from a parent window,
or
> > vice-versa.  This is for obvious reasons, and can be dealt with
relatively
> > easily with "window.opener" or some other equivalent work-around.
However,
> > this is a moot issue if everything is actually inside the same
originating
> > window.  The only reason I included the "window" prefix was to put in a
> > place-holder to handle possible issues of cross-window variable
translation,
> > which is where most of my earlier-cited "failures" happened.
> >
> > Thanks again to Chris, for slapping a bandaid on my earlier slap-dash
> > remarks.  Yay, Chris!
> >
> > -- Dave Lovering
> >
> > ----- Original Message ----- 
> > From: "Chris Tifer" <christ at saeweb.com>
> > To: "[JavaScript List]" <javascript at LaTech.edu>
> > Sent: Tuesday, December 16, 2003 7:09 AM
> > Subject: Re: [Javascript] how do you access a form element from another
> > frame ?
> >
> >
> >
> >>>Well, the answer (unfortunately) depends a little on which browser you
> >
> > are
> >
> >>>using.  For example, for IE6+ derivatives, the following should work --
> >>>
> >>>var yellowTextArea =
> >>>window.parent.top.document.frameYellow.document.frm1.textArea1.value;
> >>
> >>It really shouldn't matter which browser is in use. As long as they a)
> >>support frames and b) have JavaScript enabled you should always be able
to
> >>target another frame by using the following syntax:
> >>
> >>parent.top.frames["frameName"]
> >>
> >>So set that as a reference to a frame by doing:
> >>
> >>var objFrame = parent.top.frames["frameName"]
> >>
> >>Then if you want to reach a form on that page you do:
> >>
> >>var objForm = objFrame.forms["formName"]
> >>
> >>And if you want a handle to the element in question, you can:
> >>
> >>var objEl = objForm.elements["elementName"]
> >>
> >>Now you have 3 separate objects you can reference easily enough. If you
> >
> > want
> >
> >>to target more than one element, then you work off of your objForm
object.
> >>
> >>
> >>
> >>
> >>>Also, I've heard my ASP buddies mention that asp code doesn't
> >
> > necessarily
> >
> >>>follow exactly the same OOL heirarchy as Javascript (which is a very
> >>>imperfect OOL, as far that goes), so don't expect the exact same
> >
> > reference
> >
> >>>schema to work the same in both Javascript and ASP.  Sorry.
> >>
> >>
> >>I'm not sure what this means as ASP Objects are server-side. JavaScript
> >>object are client-side. Two totally different scenarios here. There is
no
> >>window object in ASP. Nothing equivalent.  The server doesn't understand
> >>cross-frame scripting. It doesn't even care about it.
> >>
> >>Chris Tifer
> >>
> >>_______________________________________________
> >>Javascript mailing list
> >>Javascript at LaTech.edu
> >>https://lists.LaTech.edu/mailman/listinfo/javascript
> >>
> >
> >
> >
> > _______________________________________________
> > Javascript mailing list
> > Javascript at LaTech.edu
> > https://lists.LaTech.edu/mailman/listinfo/javascript
> >
> > .
> >
>
> _______________________________________________
> Javascript mailing list
> Javascript at LaTech.edu
> https://lists.LaTech.edu/mailman/listinfo/javascript
>
>





More information about the Javascript mailing list