Difference between this.form and document.forms
Olivia Zamora
Is there a difference between this.form and document.forms (document["forms"]) or, are they similar?
Here is the code I wrote to test the difference.
<form name="myForm">
<input type="text" name="haha" value="laughable" onclick="alert(this.form.haha.value)" />
</form>
alert(document.forms.myForm.haha.value);They both result in the same thing.
22 Answers
this.form will give you the form of the form element. (this is the form element)
The containing form element, if this element is in a form.
document.forms will give you all the forms in the document (if it's supported!)
forms returns a collection (an HTMLCollection ) of the form elements within the current document.
Better use document.getElementById(id)
var form = document.getElementById(formId); 1 this.form will return the form property of this, as noted above whatever "this" is.
"this" could be anything, eg. a div, so possibly doesn't have a form property.
If "this" happens to refer to document, then this.form will return exactly the same thing as document.form. But otherwise, don't count on it.