this.form和document.forms之间的区别

时间:2012-06-14 22:26:40

标签: javascript forms this document

this.formdocument.forms (document["forms"])之间是否存在差异,或者它们是否相似?

这是我为测试差异而编写的代码。

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

它们都会产生同样的结果。

2 个答案:

答案 0 :(得分:9)

this.form将为您提供表单元素的表单。 (this是表单元素)

  

包含表单元素,如果此元素是表单。

document.forms将为您提供文档中的所有表单(如果它受支持!)

  

forms返回当前文档中表单元素的集合(HTMLCollection)。

更好地使用document.getElementById(id)

var form = document.getElementById(formId);

答案 1 :(得分:-1)

this.form将返回此表单的属性,如上所述,无论"this"是什么。

"this"可以是任何东西,例如。一个div,所以可能没有表单属性。

如果"this"恰好引用了文档,则this.form将返回与document.form完全相同的内容。但除此之外,不要指望它。