views:

178

answers:

3

I'm trying to get access to a form and its elements. The form is within an iframe and the javascript code that is accessing the form is within the main document.

I'm not sure what else I should put into the question, so please let me know if I need to add something else.

(form and main page are in the same domain)

Thanks

+3  A: 
var ifr = document.getElementById( yourIframeId );
var ifrDoc = ifr.contentDocument || ifr.contentWindow.document;
var theForm = ifrDoc.getElementById( yourFormId );

Or you could have some code in the frame that sets a variable in parent to the form, but I wouldn't trust that method.

geowa4
+1  A: 

If your iframe has a name attribute, that can be used as a window name. If the frame name is "myframe":

myframe.document.getElementById("myform") // gives you the form element
Ates Goral
You can also use frame ID to get the element by ID, just as you did with getting the form by ID from the frame. Of course, the form has to have an ID also.
Eddie
A: 

jQuery can also make this easier.

ccook