【问题标题】:Difference between this.form and document.formsthis.form 和 document.forms 的区别
【发布时间】:2012-06-14 22:26:39
【问题描述】:

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

它们都产生相同的结果。

【问题讨论】:

  • 我尝试编写一些代码,但在我编写它的方式上,它们的工作方式非常相似。
  • MDN 有一个关于 this 关键字的good article,这可能会给你一些额外的见解。

标签: javascript forms this document


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    this.form 会给你表单元素的表单。 (this 是表单元素)

    包含表单元素,如果此元素在表单中。

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

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

    更好地使用document.getElementById(id)

    var form = document.getElementById(formId);
    

    【讨论】:

    • 除非this 的意思完全不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 2011-10-20
    • 2020-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多