文档:forms 属性
Document 接口的只读属性 **forms** 返回一个 HTMLCollection,其中列出了文档中包含的所有 <form> 元素。
注意: 同样,您可以使用 HTMLFormElement.elements 属性访问表单组件用户输入元素的列表。
您还可以将命名的 <form> 元素作为 document 对象的属性来访问。例如,document["login-form"] 和 document.forms["login-form"] 都可以用来访问名为 login-form 的表单。
警告: 依赖 document["form-name"] 模式是危险且不推荐的,因为它可能导致与浏览器中现有或未来 API 发生意外冲突。例如,如果浏览器将来引入内置的 document["login-form"] 属性,您的代码可能无法再访问该表单元素。为避免此类冲突,请始终使用 document.forms 来访问命名的表单。
值
一个 HTMLCollection 对象,其中列出了文档中的所有表单。集合中的每个项目都是一个 HTMLFormElement,代表一个单独的 <form> 元素。
如果文档中没有表单,则返回的集合为空,长度为零。
示例
获取表单信息
html
<form id="robby">
<input type="button" value="robby's form" />
</form>
<form id="dave">
<input type="button" value="dave's form" />
</form>
<form id="paul">
<input type="button" value="paul's form" />
</form>
js
document.querySelectorAll("input[type=button]").forEach((button, i) => {
button.addEventListener("click", (event) => {
console.log(document.forms[i].id);
});
});
从表单内获取元素
js
const selectForm = document.forms[index];
const selectFormElement = document.forms[index].elements[index];
命名表单访问
html
<form name="login">
<input name="email" type="email" />
<input name="password" type="password" />
<button type="submit">Log in</button>
</form>
js
const loginForm = document.forms.login; // Or document.forms['login']
loginForm.elements.email.placeholder = "test@example.com";
loginForm.elements.password.placeholder = "password";
规范
| 规范 |
|---|
| HTML # dom-document-forms-dev |
浏览器兼容性
加载中…
另见
- HTML 表单
<form>和HTMLFormElement接口