Search code examples
javascriptformsthisdocument

Difference between this.form and document.forms


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" id="myForm">
<input type="text" name="haha" id="myForm" value="laughable" onclick="alert(this.form.haha.value)" />
</form>

alert(document.forms.myForm.haha.value);

They both result in the same thing.


Solution

  • 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);