Gathering data from form fields within iFrames

J

Jon

All,

I'm currently working with a PHP-based CMS application, and am begining to
put the finishing touches on it via Javascript validation. Currently, I'm
using fairly standard methods of validation of each form field, the
algorithm is much like:

if(document.formName.field.value == ""){
//throw an error and return false
}

This works great except for one particular field. I have a javascript-based
Rich Text Editor (RTE) that currently places the body of each page within an
iFrame. When the page loads, I populate a field within the iFrame that is a
textarea with data coming from the DB (MySQL). All works fine this way, and
when the user makes a change and clicks submit, I'm able to get that data
from the form and submit.

The problem comes up with two things - building a preview page, and
validating data within the field. The algorithm I'm using above will work
within the field, however it will only give me the ORIGINAL value of the
textarea field. If the user changes it, I'm simply unable to grab the NEW
value of the field. As all of my other field validation works fine, I'm
assuming this has something to do with the iFrame.

So, can anyone give me some info on how I can grab CURRENT values of a
textarea field within an iFrame? Currently, any changes made within the
textarea (inside the iFrame) simply are not recognized by normal javascript
Validation. I'm somewhat of a JS newb, but can work off any any algorithm -
so at this point, ANY help is appreciated. Thank you in advance.
 
J

Joe Attardi

Jon said:
if(document.formName.field.value == ""){
//throw an error and return false
}

The algorithm I'm using above will work within the field,
however it will only give me the ORIGINAL value of the
textarea field. If the user changes it, I'm simply unable to grab the NEW
value of the field. As all of my other field validation works fine, I'm
assuming this has something to do with the iFrame.

Jon,

The only thing I can think of is that you are accessing the wrong
document. An iframe has its own document object - I believe the
property is called contentDocument, but I am not sure, so don't flame
me if I'm incorrect. Anyway, you might want to try getting the form in
that document object and see if that helps.
 
J

Jon

hehe - I don't flame on newsgroups or message boards :p

Thanks for the info - Though I was unable to build a solution exactly how I
wanted originally, I researched what you were talking about and found a
better way. I basically built the 'preview' functionality within the iFrame
itself to avoid any problems of the different objects on the same page. So
it calls the ID of the textarea from a link that sits inside the actual
iFrame, and pushes the current value to a new window. Looks to be working
fine now - Thanks :)

I really need to take some Javascript classes - it's much different than
what I'm used to (PHP/ASP) :(
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,904
Latest member
HealthyVisionsCBDPrice

Latest Threads

Top