[Javascript] detecting a frame with a field
Matt Barton
javascript at mattbarton.org
Fri Oct 15 04:05:50 CDT 2004
Morning Terry,
You'll have difficulties if the documents in the two frames are served
from different domains - you'll get "Access Denied" errors in javascript
when trying to access the right-hand frame.
I know that you haven't said that they are below, but when you said that
the right hand frame wasn't under your control, I thought that might
have been one of the possibilities.
Assuming that the two documents are from the same domain however, I
suppose you could use the setInterval () method of the left hand window
to call a function every so often which checks the right hand frame.
The function could use the getElementsByName method of the document in
the right hand window.
Something like:
// ------------
function fCheckFrame () {
oRightHandDocument = parent.idOfRightHandFrame.document;
aElements = oRightHandDocument.getElementsByName ('CO_USERNAME');
if (aElements.length > 0) {
document.forms[0].submit ();
}
}
window.setInterval (fCheckFrame, 100);
// -------------
You would need to know the ID and/or name of the right hand frame, but
you'll have control over that won't you? Also you'd need to customise
the reference to your form - I just used form[0] to reference the first
(only) form in the document in my test case. I've tested this in
IE6/Win and Firefox and both are OK.
Hope this helps a little. I'd be interested to see if anyones got a
better method of triggering the check of the right hand frame, as I
don't particularly like window.setInterval - it strikes me as (in this
instance) a little inelegant.
Ta ta,
Matt
Terry Riegel wrote:
> Hello All,
>
> I have set up a 2 frame page. The left frame is fully under my control,
> the right frame is not.
>
> +--+------+
> | | |
> | | |
> | | |
> +--+------+
>
> I want the left frame to watch the right frame until it contains a form
> with a text field named CO_USERNAME
>
> The Right frame (I can't control its contents) will look like below.
> <body>
> <form method=post action=http://www.page.com>
> ...
> <input type=text name=CO_USERNAME size=30 maxlength=30 value="Visitor5">
> ...
> </form>
> </body>
>
> When the left frame sees a text field labeled CO_USERNAME it will
> trigger a page load.
>
>
> Can this be done?
>
> Terry
>
> _______________________________________________
> Javascript mailing list
> Javascript at LaTech.edu
> https://lists.LaTech.edu/mailman/listinfo/javascript
>
More information about the Javascript
mailing list