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



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

它们都会导致同一件事。

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

包含表单元素

(如果此元素位于表单中)。

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

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

更好地使用document.getElementById(id)

var form = document.getElementById(formId);

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

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

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

最新更新