表单 在 HTML5 中
HTML 元素,允许您构建交互式表单
新! 我的 44 页电子书“CSS 在 44 分钟内”已出版! 😃
# fieldset
在表单内定义一个控件组。
示例: 复制
<form action="/subscribe" method="post">
<fieldset>
<legend>Subscribe to the Newsletter</legend>
<input type="email" name="email">
<button>Ok</button>
</fieldset>
</form>
disabled
禁用 fieldset 包含的控件。
不需要值。# form
定义带有控件的交互式表单。
示例: 复制
<form action="/signup" method="post">
<p>
<label>Title</label><br>
<label>
<input type="radio" name="title" value="mr">
Mr
</label>
<label>
<input type="radio" name="title" value="mrs">
Mrs
</label>
<label>
<input type="radio" name="title" value="miss">
Miss
</label>
</p>
<p>
<label>First name</label><br>
<input type="text" name="first_name">
</p>
<p>
<label>Last name</label><br>
<input type="text" name="last_name">
</p>
<p>
<label>Email</label><br>
<input type="email" name="email" required>
</p>
<p>
<label>Phone number</label><br>
<input type="tel" name="phone">
</p>
<p>
<label>Password</label><br>
<input type="password" name="password">
</p>
<p>
<label>Country</label><br>
<select>
<option>China</option>
<option>India</option>
<option>United States</option>
<option>Indonesia</option>
<option>Brazil</option>
</select>
</p>
<p>
<label>
<input type="checkbox" value="terms">
I agree to the <a href="/terms">terms and conditions</a>
</label>
</p>
<p>
<button>Sign up</button>
<button type="reset">Reset form</button>
</p>
</form>
action
定义提交表单时表单信息发送到的 URL。
"/contact"
您可以使用相对 URL。
"https://htmlreference.cn/contact"
您可以使用绝对 URL。
method
定义提交表单时使用的 HTTP 方法。
"post"
表单信息作为请求正文的一部分发送到服务器。
"get"
表单信息作为URL 参数的一部分发送到服务器: /contact?first_name=Alex&last_name=Smith
。
name
发送到服务器时的表单名称。当同一网页上存在多个表单时,这很有用。
"sign_up_form"
name 值在整个网页的范围内必须是唯一的。
它只能包含字母数字字符 a-z
A-Z
0-9
和一些特殊字符,如 -
_
… 但不能有空格。
autocomplete
确定浏览器是否可以自动完成所有表单的控件。
"off"
浏览器将禁用自动完成功能。但是,可以针对每个控件单独覆盖。
"on"
浏览器将启用自动完成功能。但是,可以针对每个控件单独覆盖。
尝试在这个输入框中按下“向下”。它将显示以前输入的电子邮件地址。
target
定义点击的链接将在哪个标签或窗口中显示。
"_blank"
在新浏览上下文中打开,通常是新标签。
"_self"
在当前标签中打开。
"_parent"
在父浏览上下文中打开,如果没有父浏览上下文,则为 _self
。
"_top"
在顶层浏览上下文中打开,如果没有顶层浏览上下文,则为 _self
。
enctype
定义发送到服务器的信息的MIME 类型。仅当方法为 post
时才有效。
"application/x-www-form-urlencoded"
默认值。
"text/plain"
用于 HTML5 纯文本。
"multipart/form-data"
使用 <input type="file">
元素时需要。
novalidate
告诉浏览器不要在提交时验证表单。
不需要值。# input
在网页表单内定义一个交互式控件。
示例: 复制
<input type="text" name="first_name" placeholder="e.g. Alex">
type
定义表单输入类型。
必需。
"text"
简单的单行文本输入,接受任何类型的字符
"email"
类似文本输入,但浏览器将尝试只允许有效的电子邮件地址。
在移动设备上,将显示电子邮件键盘。
"number"
类似文本输入,但浏览器将尝试只允许有效的数字。
在移动设备上,将显示数字键盘。
"checkbox"
一个切换复选框,只能处于两种状态之一:选中或未选中。只有在选中复选框时,才会由表单提交该值。
您可以将复选框包装在标签中,以增加点击区域。
<label>
<input type="checkbox">
I accept the terms and conditions
</label>
注意,点击文本将切换复选框。
"radio"
需要与其他单选按钮结合使用,这样它们就是互斥的。
您可以通过类似的 name
值链接单选按钮
<label>
<input type="radio" name="newsletter" value="yes">
Yes
</label>
<label>
<input type="radio" name="newsletter" value="no">
No
</label>
注意,点击一个将取消选中另一个。
"submit"
点击或按 Enter 键时触发的提交按钮。
name
在表单内定义该输入的唯一标识符。它允许服务器在提交时访问每个输入的值。
必需。
"first_name"
name 值在 <form>
容器的范围内必须是唯一的。
它只能包含字母数字字符 a-z
A-Z
0-9
和一些特殊字符,如 -
_
… 但不能有空格。
placeholder
定义一个不可选的占位符文本,该文本仅在输入为空时显示。
"例如 [email protected]"
您可以提示输入所需的格式。
作为最佳实践,建议使用标签描述输入,并使用占位符展示示例
<form>
<label>Email</label><br>
<input type="email" name="email" placeholder="e.g. [email protected]">
</form>
注意,占位符在获得焦点时会消失,因此需要保留一个单独的标签。
required
告诉浏览器此输入是必需的。将其留空将显示警告。
不需要值。您只需添加不带值的 required
属性即可
<form>
<input type="text" required>
</form>
如果您尝试提交带有空文本输入的表单,浏览器应该会显示警告。
disabled
禁用输入。
不需要值。# legend
定义父元素内容的 标题。
示例: 复制
<form action="/subscribe" method="post">
<fieldset>
<legend>Subscribe to the Newsletter</legend>
<input type="email" name="email">
<button>Ok</button>
</fieldset>
</form>
# textarea
在网页表单中定义 多行文本控件。
name
定义表单中该文本区域的唯一标识符。它允许服务器在提交时访问每个文本区域的值。
必需。
"message"
name 值在 <form>
容器的范围内必须是唯一的。
它只能包含字母数字字符 a-z
A-Z
0-9
和一些特殊字符,如 -
_
… 但不能有空格。
autocomplete
确定浏览器是否可以自动完成文本区域。
"off"
浏览器将 禁用 自动完成功能。
"on"
浏览器将 启用 自动完成功能。
minlength
定义文本区域所需的最小字符数以使其有效。
"15"
您可以使用 整数。
maxlength
定义允许的最大字符数。
"140"
您可以使用 整数。
placeholder
定义一个不可选择的占位符文本,该文本仅在文本区域为空时显示。
"e.g. Hello my name is Alex"
您可以提示文本区域的预期格式。
cols
定义列数。
"40"
您可以使用 整数。
rows
定义行数。
"5"
您可以使用 整数。
wrap
定义文本的换行方式。
"hard"
文本将始终根据 cols
值换行。
"soft"
文本仅在需要时换行。
disabled
禁用文本区域。
不需要值。
required
告诉浏览器该文本区域是 必需的。留空将显示警告。
不需要值。
autofocus
在网页加载时将焦点设置到文本区域。
不需要值。
readonly
将文本区域变成只读元素。
不需要值。
spellcheck
启用浏览器拼写检查器。
不需要值。