1. 4.10.5 input 元素
        1. 4.10.5.1 type 属性的状态
          1. 4.10.5.1.1 隐藏状态 (type=hidden)
          2. 4.10.5.1.2 文本状态 (type=text) 和搜索状态 (type=search)
          3. 4.10.5.1.3 电话状态 (type=tel)
          4. 4.10.5.1.4 URL 状态 (type=url)
          5. 4.10.5.1.5 电子邮件状态 (type=email)
          6. 4.10.5.1.6 密码状态 (type=password)
          7. 4.10.5.1.7 日期状态 (type=date)
          8. 4.10.5.1.8 月份状态 (type=month)
          9. 4.10.5.1.9 周状态 (type=week)
          10. 4.10.5.1.10 时间状态 (type=time)
          11. 4.10.5.1.11 本地日期和时间状态 (type=datetime-local)
          12. 4.10.5.1.12 数字状态 (type=number)
          13. 4.10.5.1.13 范围状态 (type=range)
          14. 4.10.5.1.14 颜色状态 (type=color)
          15. 4.10.5.1.15 复选框状态 (type=checkbox)
          16. 4.10.5.1.16 单选按钮状态 (type=radio)
          17. 4.10.5.1.17 文件上传状态 (type=file)
          18. 4.10.5.1.18 提交按钮状态 (type=submit)
          19. 4.10.5.1.19 图片按钮状态 (type=image)
          20. 4.10.5.1.20 重置按钮状态 (type=reset)
          21. 4.10.5.1.21 按钮状态 (type=button)
        2. 4.10.5.2 常见的 input 元素属性
          1. 4.10.5.2.1 maxlengthminlength 属性
          2. 4.10.5.2.2 size 属性
          3. 4.10.5.2.3 readonly 属性
          4. 4.10.5.2.4 required 属性
          5. 4.10.5.2.5 multiple 属性
          6. 4.10.5.2.6 pattern 属性
          7. 4.10.5.2.7 minmax 属性
          8. 4.10.5.2.8 step 属性
          9. 4.10.5.2.9 list 属性
          10. 4.10.5.2.10 placeholder 属性
        3. 4.10.5.3 常见的 input 元素 API

4.10.5 input 元素

元素/输入

所有当前引擎都支持。

Firefox1+Safari1+Chrome1+
Opera12.1+Edge79+
Edge (Legacy)12+Internet ExplorerYes
Firefox Android?Safari iOS?Chrome Android?WebView Android1+Samsung Internet?Opera Android12.1+

元素/输入

类别:
流内容.
短语内容.
如果 type 属性不在 隐藏 状态中:交互式内容
如果 type 属性不在 隐藏 状态中:列表可标记可提交可重置,以及 自动大写和自动更正继承 与表单相关的元素
如果 type 属性在 隐藏 状态中:列表可提交可重置,以及 自动大写和自动更正继承 与表单相关的元素
如果 type 属性不在 隐藏 状态中:可感知内容
可以使用此元素的上下文:
预期 短语内容 的地方。
内容模型:
.
text/html 中的标签省略:
没有 结束标签
内容属性:
全局属性
accept文件上传控件 中预期文件类型的提示
alt — 当图像不可用时使用的替换文本
autocomplete — 表单自动填充功能的提示
checked — 控件是否已选中
dirname — 用于发送元素的 方向性 的表单控件的名称,在 表单提交 中使用
disabled — 表单控件是否已禁用
form — 将元素与 form 元素关联
formaction — 用于 表单提交URL
formenctype — 用于 表单提交条目列表 编码类型
formmethod — 用于 表单提交 的变体
formnovalidate — 为 表单提交 跳过表单控件验证
formtarget — 用于 表单提交可导航
height — 垂直尺寸
list — 自动完成选项列表
max — 最大值
maxlength — 值的最大 长度
min — 最小值
minlength — 值的最小 长度
multiple — 是否允许多个值
name — 用于 表单提交 以及 form.elements API 的元素的名称
pattern — 表单控件的值要匹配的模式
placeholder — 要放置在表单控件中的用户可见的标签
popovertarget — 目标为要切换、显示或隐藏的弹出窗口元素
popovertargetaction — 指示目标弹出窗口元素是否要切换、显示或隐藏
readonly — 是否允许用户编辑值
required — 控件是否为 表单提交 所必需
size — 控件的大小
src — 资源的地址
step — 表单控件的值要匹配的粒度
type — 表单控件的类型
value — 表单控件的值
width — 水平尺寸
此外,title 属性 在此元素上具有特殊语义:模式的描述(与 pattern 属性一起使用时)
无障碍性注意事项:
type 属性在 隐藏 状态中:面向作者面向实施者
type 属性在 文本 状态中:面向作者面向实施者
type 属性在 搜索 状态中:面向作者面向实施者
type 属性在 电话 状态中:面向作者面向实施者
type 属性在 URL 状态中:面向作者面向实施者
type 属性在 电子邮件 状态中:面向作者面向实施者
type 属性在 密码 状态下:面向作者面向实现者
type 属性在 日期 状态下:面向作者面向实现者
type 属性在 月份 状态下:面向作者面向实现者
type 属性在 状态下:面向作者面向实现者
type 属性在 时间 状态下:面向作者面向实现者
type 属性在 本地日期和时间 状态下:面向作者面向实现者
type 属性在 数字 状态下:面向作者面向实现者
type 属性在 范围 状态下:面向作者面向实现者
type 属性在 颜色 状态下:面向作者面向实现者
type 属性在 复选框 状态下:面向作者面向实现者
type 属性在 单选按钮 状态下:面向作者面向实现者
type 属性在 文件上传 状态下:面向作者面向实现者
type 属性在 提交按钮 状态下:面向作者面向实现者
type 属性在 图片按钮 状态下:面向作者面向实现者
type 属性在 重置按钮 状态下:面向作者面向实现者
type 属性在 按钮 状态下:面向作者面向实现者
DOM 接口:
使用 HTMLInputElement

input 元素 表示 一个类型化的数据字段,通常带有允许用户编辑数据的表单控件。

type 属性控制元素的数据类型(以及关联的控件)。它是一个 枚举属性,具有以下关键字和状态

关键字状态数据类型控件类型
hidden 隐藏 任意字符串n/a
text 文本 不包含换行的文本文本控件
search 搜索 不包含换行的文本搜索控件
tel 电话 不包含换行的文本文本控件
url URL 绝对 URL文本控件
email 电子邮件 电子邮件地址或电子邮件地址列表文本控件
password 密码 不包含换行的文本(敏感信息)隐藏数据输入的文本控件
date 日期 日期(年、月、日),不含时区日期控件
month 月份 包含年和月的日期,不含时区月份控件
week 包含周年的数字和周数的日期,不含时区周控件
time 时间 时间(时、分、秒、秒的小数部分),不含时区时间控件
datetime-local 本地日期和时间 日期和时间(年、月、日、时、分、秒、秒的小数部分),不含时区日期和时间控件
number 数字 数值文本控件或微调器控件
range 范围 数值,带有额外的语义,即精确值不重要滑块控件或类似控件
color 颜色 具有 8 位红色、绿色和蓝色分量的 sRGB 颜色颜色选择器
checkbox 复选框 从预定义列表中选择零个或多个值复选框
radio 单选按钮 枚举值单选按钮
file 文件上传 零个或多个文件,每个文件都有 MIME 类型 以及可选的文件名标签和按钮
submit 提交按钮 枚举值,带有额外的语义,即它必须是最后选择的值,并且会启动表单提交按钮
image 图片按钮 相对于特定图片大小的坐标,带有额外的语义,即它必须是最后选择的值,并且会启动表单提交可点击图片或按钮
reset 重置按钮 n/a按钮
button 按钮 n/a按钮

属性的 缺失值默认值无效值默认值 都是 文本 状态。

哪些 acceptaltautocompletecheckeddirnameformactionformenctypeformmethodformnovalidateformtargetheightlistmaxmaxlengthminminlengthmultiplepatternplaceholderreadonlyrequiredsizesrcstepwidth 内容属性,checkedfilesvalueAsDatevalueAsNumberlist IDL 属性,select() 方法,selectionStartselectionEndselectionDirection IDL 属性,setRangeText()setSelectionRange() 方法,stepUp()stepDown() 方法,以及 inputchange 事件 应用input 元素取决于其 type 属性的状态。定义每个类型的子部分也在规范性“簿记”部分明确定义了哪些功能适用,以及哪些功能 不适用 于每个类型。这些功能的行为取决于它们是否适用,如它们各自部分中所定义(参见 内容属性API事件)。

下表总结了这些内容属性、IDL 属性、方法和事件哪些 适用 于每个状态

隐藏 文本 搜索 电话 URL 电子邮件 密码 日期 月份 时间 本地日期和时间 数字 范围 颜色 复选框, 单选按钮 文件上传 提交按钮 图片按钮 重置按钮, 按钮
内容属性
接受 ··············
替代文本 ··············
自动完成 ·····
选中 ··············
目录名 ·········
表单动作 ·············
表单编码类型 ·············
表单方法 ·············
表单验证 ·············
表单目标 ·············
高度 ··············
列表 ·······
最大值 ···········
最大长度 ···········
最小值 ···········
最小长度 ···········
多选 ·············
模式 ···········
占位符 ··········
弹出目标 ············
弹出目标动作 ············
只读 ········
必填 ······
大小 ···········
··············
步长 ···········
宽度 ··············
IDL 属性和方法
选中 ··············
文件 ··············
日期值 ··············
数值值 ···········
列表 ·······
选择() ·是†是†是†是†·是†·是†···
选择开始 ············
选择结束 ············
选择方向 ············
设置范围文本() ············
设置选择范围() ············
向下步进() ···········
向上步进() ···········
事件
input 事件 ····
change 事件 ····

† 如果控件没有可选择的文本,则select() 方法将执行无操作,不会产生 "InvalidStateError" DOMException

value 内容属性提供了 input 元素的默认

元素/输入#选中

所有当前引擎都支持。

Firefox1+Safari1+Chrome1+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer5.5+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

checked 内容属性是一个布尔属性,提供了 input 元素的默认选中状态


name 属性表示元素的名称。 dirname 属性控制元素的方向性 如何被提交。 disabled 属性用于使控件不可交互,并阻止其值被提交。 form 属性用于显式地将 input 元素与其表单所有者 关联。 autocomplete 属性控制用户代理如何提供自动填充行为。

4.10.5.1 type 属性的状态
4.10.5.1.1 隐藏 状态 (type=hidden)

元素/输入/隐藏

所有当前引擎都支持。

Firefox1+Safari1+Chrome1+
Opera2+Edge79+
Edge (Legacy)12+Internet ExplorerYes
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

input 元素表示 一个不打算被用户检查或操作的值。

如果name 属性存在,且其值为 "_charset_" 的ASCII 不区分大小写 匹配,则元素的value 属性必须被省略。

autocompletedirname 内容属性应用于此元素。

value IDL 属性应用于此元素,并处于default 模式。

以下内容属性不得被指定,且不应用于此元素:accept, alt, checked, formaction, formenctype, formmethod, formnovalidate, formtarget, height, list, max, maxlength, min, minlength, multiple, pattern, placeholder, popovertarget, popovertargetaction, readonly, required, size, src, step, 和 width

以下 IDL 属性和方法不应用于此元素:checked, files, list, selectionStart, selectionEnd, selectionDirection, valueAsDate, 和 valueAsNumber IDL 属性; select(), setRangeText(), setSelectionRange(), stepDown(), 和 stepUp() 方法。

inputchange 事件不应用

4.10.5.1.2 文本 (type=text) 状态和 搜索 状态 (type=search)

元素/输入/搜索

所有当前引擎都支持。

Firefox4+Safari5+Chrome5+
Opera10.6+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

元素/输入/文本

所有当前引擎都支持。

Firefox1+Safari1+Chrome1+
Opera?Edge79+
Edge (Legacy)12+Internet ExplorerYes
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

input 元素表示 用于元素的 的单行纯文本编辑控件。

文本 状态和 搜索 状态之间的主要区别是样式上的区别:在搜索控件与常规文本控件有所区别的平台上,搜索 状态可能导致外观与平台的搜索控件一致,而不是像常规文本控件。

value 属性(如果指定)的值必须不包含 U+000A 换行符 (LF) 或 U+000D 回车符 (CR) 字符。

以下这些常见的 input 元素内容属性、IDL 属性和方法 适用于该元素:autocompletedirnamelistmaxlengthminlengthpatternplaceholderreadonlyrequiredsize 内容属性;listselectionStartselectionEndselectionDirectionvalue IDL 属性;select()setRangeText()setSelectionRange() 方法。

value IDL 属性处于 value 模式。

inputchange 事件 适用

以下这些内容属性不应指定且 不适用于该元素:acceptaltcheckedformactionformenctypeformmethodformnovalidateformtargetheightmaxminmultiplepopovertargetpopovertargetactionsrcstepwidth

以下 IDL 属性和方法 不适用于该元素:checkedfilesvalueAsDatevalueAsNumber IDL 属性;stepDown()stepUp() 方法。

4.10.5.1.3 电话 状态 (type=tel)

元素/input/tel

所有当前引擎都支持。

FirefoxSafari4+Chrome3+
Opera11+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS3+Chrome Android18+WebView Android37+Samsung Internet?Opera Android11+

input 元素 表示一个控件,用于编辑元素 value 中给出的电话号码。

如果指定 value 属性,则其值必须不包含 U+000A LINE FEED (LF) 或 U+000D CARRIAGE RETURN (CR) 字符。

URL电子邮件 类型不同,电话 类型不强制执行特定语法。这是故意的;在实践中,电话号码字段往往是自由格式字段,因为有效的电话号码有很多种。需要强制执行特定格式的系统应使用 pattern 属性或 setCustomValidity() 方法挂钩到客户端验证机制。

以下这些常见的 input 元素内容属性、IDL 属性和方法 适用于该元素:autocompletedirnamelistmaxlengthminlengthpatternplaceholderreadonlyrequiredsize 内容属性;listselectionStartselectionEndselectionDirectionvalue IDL 属性;select()setRangeText()setSelectionRange() 方法。

value IDL 属性处于 value 模式。

inputchange 事件 适用

以下这些内容属性不应指定且 不适用于该元素:acceptaltcheckedformactionformenctypeformmethodformnovalidateformtargetheightmaxminmultiplepopovertargetpopovertargetactionsrcstepwidth

以下 IDL 属性和方法 不适用于该元素:checkedfilesvalueAsDatevalueAsNumber IDL 属性;stepDown()stepUp() 方法。

4.10.5.1.4 URL 状态 (type=url)

元素/input/url

所有当前引擎都支持。

Firefox1+Safari1+Chrome1+
Opera11+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

input 元素 表示一个控件,用于编辑元素 value 中给出的单个 绝对 URL

如果指定 value 属性且不为空,则其值必须是 有效的 URL(可能被空格包围),该 URL 也是一个 绝对 URL

以下常见的输入元素内容属性、IDL 属性和方法适用于该元素:autocompletedirnamelistmaxlengthminlengthpatternplaceholderreadonlyrequiredsize内容属性;listselectionStartselectionEndselectionDirectionvalueIDL 属性;select()setRangeText()setSelectionRange()方法。

valueIDL 属性处于value模式。

inputchange事件适用

以下内容属性不得指定,且不适用于该元素:acceptaltcheckedformactionformenctypeformmethodformnovalidateformtargetheightmaxminmultiplepopovertargetpopovertargetactionsrcstepwidth

以下IDL 属性和方法不适用于该元素:checkedfilesvalueAsDatevalueAsNumberIDL 属性;stepDown()stepUp()方法。

如果文档包含以下标记

<input type="url" name="location" list="urls">
<datalist id="urls">
 <option label="MIME: Format of Internet Message Bodies" value="https://www.rfc-editor.org/rfc/rfc2045">
 <option label="HTML" value="https://html.whatwg.com.cn/">
 <option label="DOM" value="https://dom.spec.whatwg.org/">
 <option label="Fullscreen" value="https://fullscreen.spec.whatwg.org/">
 <option label="Media Session" value="https://mediasession.spec.whatwg.org/">
 <option label="The Single UNIX Specification, Version 3" value="http://www.unix.org/version3/">
</datalist>

… 并且用户输入了“spec.w”,并且用户代理还发现用户最近访问了 https://url.spec.whatwg.org/#url-parsinghttps://streams.spec.whatwg.org/,那么渲染可能如下所示

A text box with an icon on the left followed by the text "spec.w" and a cursor, with a drop down button on the right hand side; with, below, a drop down box containing a list of six URLs on the left, with the first four having grayed out labels on the right; and a scrollbar to the right of the drop down box, indicating further values are available.

此示例中的前四个 URL 由作者指定的列表中与用户输入的文本匹配的四个 URL 组成,并以某种实现定义方式排序(可能按用户访问这些 URL 的频率)。注意,UA 使用了对值的 URL 了解来允许用户省略方案部分,并对域名执行智能匹配。

最后两个 URL(以及可能还有更多,因为滚动条表明还有更多值可用)是来自用户代理的会话历史记录数据的匹配。这些数据不会提供给页面 DOM。在这种特殊情况下,UA 没有标题可用于这些值。

4.10.5.1.5 电子邮件 状态 (type=email)

元素/输入/电子邮件

所有当前引擎都支持。

Firefox1+Safari5+Chrome5+
Opera11+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS3+Chrome Android?WebView Android?Samsung Internet?Opera Android11+

电子邮件状态的操作方式取决于是否指定了multiple属性。

multiple属性未在元素上指定时

输入元素表示一个用于编辑元素的value中给出的电子邮件地址的控件。

value属性,如果指定且不为空,则必须具有单个有效电子邮件地址的值。

multiple属性在元素上指定时

输入元素表示一个用于添加、删除和编辑元素的values中给出的电子邮件地址的控件。

value属性,如果指定,则必须具有有效电子邮件地址列表的值。

multiple属性设置或删除时,用户代理必须运行值清理算法

有效电子邮件地址是一个与以下 ABNF 的 email 产生式匹配的字符串,其字符集为 Unicode。此 ABNF 实现了 RFC 1123 中描述的扩展。 [ABNF] [RFC5322] [RFC1034] [RFC1123]

email         = 1*( atext / "." ) "@" label *( "." label )
label         = let-dig [ [ ldh-str ] let-dig ]  ; limited to a length of 63 characters by RFC 1034 section 3.5
atext         = < as defined in RFC 5322 section 3.2.3 >
let-dig       = < as defined in RFC 1034 section 3.5 >
ldh-str       = < as defined in RFC 1034 section 3.5 >

此要求是对 RFC 5322 的有意违反,RFC 5322 定义了电子邮件地址的语法,该语法既过于严格(在“@”字符之前),又过于模糊(在“@”字符之后),并且过于宽松(允许以大多数用户不熟悉的方式使用注释、空格字符和引号字符串),无法在此处实际使用。

以下 JavaScript 和 Perl 兼容的正则表达式是上述定义的实现。

/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/

有效电子邮件地址列表是一个逗号分隔的标记集,其中每个标记本身都是一个有效电子邮件地址

以下常见的输入元素内容属性、IDL 属性和方法适用于该元素:autocompletedirnamelistmaxlengthminlengthmultiplepatternplaceholderreadonlyrequiredsize内容属性;listvalueIDL 属性;select()方法。

valueIDL 属性处于value模式。

inputchange事件适用

以下内容属性不得指定,且不适用于该元素:acceptaltcheckedformactionformenctypeformmethodformnovalidateformtargetheightmaxminpopovertargetpopovertargetactionsrcstepwidth

以下 IDL 属性和方法不适用于该元素:checkedfilesselectionStartselectionEndselectionDirectionvalueAsDate,和valueAsNumber IDL 属性;setRangeText()setSelectionRange()stepDown()stepUp() 方法。

4.10.5.1.6 密码 状态 (type=password)

元素/输入/密码

所有当前引擎都支持。

Firefox1+Safari1+Chrome1+
Opera2+Edge79+
Edge (旧版)12+Internet Explorer2+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

输入 元素表示该元素的一行纯文本编辑控件。用户代理应遮蔽该值,以使除用户以外的人无法看到它。

value 属性(如果指定)必须具有一个不包含 U+000A 换行符 (LF) 或 U+000D 回车符 (CR) 字符的值。

以下常见的输入 元素内容属性、IDL 属性和方法适用于该元素:autocompletedirnamemaxlengthminlengthpatternplaceholderreadonlyrequired,和size 内容属性;selectionStartselectionEndselectionDirection,和value IDL 属性;select()setRangeText(),和setSelectionRange() 方法。

value IDL 属性处于 value 模式。

inputchange 事件适用

以下内容属性不得指定,也不适用于该元素:acceptaltcheckedformactionformenctypeformmethodformnovalidateformtargetheightlistmaxminmultiplepopovertargetpopovertargetactionsrcstep,和width

以下 IDL 属性和方法不适用于该元素:checkedfileslistvalueAsDate,和valueAsNumber IDL 属性;stepDown()stepUp() 方法。

4.10.5.1.7 日期 状态 (type=date)

元素/输入/日期

所有当前引擎都支持。

Firefox57+Safari14.1+Chrome20+
Opera11+Edge79+
Edge (旧版)12+Internet Explorer不支持
Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android11+

输入 元素表示用于将该元素的设置为表示特定日期的字符串的控件。

有关日期、时间和数字表单控件的输入格式和提交格式之间差异的讨论,请参见简介部分

value 属性(如果指定并且不为空)必须具有有效的日期字符串的值。

min 属性(如果指定)必须具有有效的日期字符串的值。max 属性(如果指定)必须具有有效的日期字符串的值。

step 属性以天为单位表示。默认步长为 1 天。

日期 状态(以及后续部分中描述的其他日期和时间相关状态)并非旨在输入无法确定相对于当代日历的精确日期和时间的那些值。例如,它不适合输入诸如“大爆炸后一毫秒”、“侏罗纪早期”或“公元前 250 年左右的冬季”等时间。

对于输入格里高利历引入之前的日期,作者应尽量避免使用日期 状态(以及后续部分中描述的其他日期和时间相关状态),因为用户代理并非必须支持将早期时期的日期和时间转换为格里高利历,而要求用户手动执行此操作会给用户带来过多的负担。(格里高利历的引入方式很复杂,在不同国家/地区的引入时间也不同,从 16 世纪中叶一直到 20 世纪初。)相反,作者应尽量使用具有数字 状态的select 元素和input 元素提供细粒度的输入控件。

以下常见的输入 元素内容属性、IDL 属性和方法适用于该元素:autocompletelistmaxminreadonlyrequired,和step 内容属性;listvaluevalueAsDate,和valueAsNumber IDL 属性;select()stepDown(),和stepUp() 方法。

value IDL 属性处于 value 模式。

inputchange 事件适用

以下内容属性不得指定,并且不适用于该元素:acceptaltcheckeddirnameformactionformenctypeformmethodformnovalidateformtargetheightmaxlengthminlengthmultiplepatternplaceholderpopovertargetpopovertargetactionsizesrc,以及width

以下 IDL 属性和方法不适用于该元素:checkedselectionStartselectionEnd,以及selectionDirection IDL 属性;setRangeText(),以及setSelectionRange() 方法。

4.10.5.1.8 状态 (type=month)

元素/输入/月

所有当前引擎都支持。

FirefoxSafariChrome20+
Opera11+Edge79+
Edge (旧版)12+Internet Explorer不支持
Firefox Android18+Safari iOSChrome Android?WebView Android?Samsung Internet?Opera Android?

输入元素表示一个控件,用于将元素的设置为表示特定月份的字符串。

有关日期、时间和数字表单控件的输入格式和提交格式之间差异的讨论,请参见简介部分

如果指定了value属性并且它不为空,则它的值必须是一个有效的月字符串

如果指定了min属性,则它的值必须是一个有效的月字符串。如果指定了max属性,则它的值必须是一个有效的月字符串

step属性以月为单位表示。默认步长为 1 个月。

以下常见的输入元素内容属性、IDL 属性和方法适用于该元素:autocompletelistmaxminreadonlyrequired,以及step 内容属性;listvaluevalueAsDate,以及valueAsNumber IDL 属性;select()stepDown(),以及stepUp() 方法。

value IDL 属性处于 value 模式。

inputchange 事件适用于该元素。

以下内容属性不得指定,并且不适用于该元素:acceptaltcheckeddirnameformactionformenctypeformmethodformnovalidateformtargetheightmaxlengthminlengthmultiplepatternplaceholderpopovertargetpopovertargetactionsizesrc,以及width

以下 IDL 属性和方法不适用于该元素:checkedfilesselectionStartselectionEnd,以及selectionDirection IDL 属性;setRangeText(),以及setSelectionRange() 方法。

4.10.5.1.9 状态 (type=week)

元素/输入/周

FirefoxSafariChrome20+
Opera11+Edge79+
Edge (旧版)12+Internet Explorer不支持
Firefox Android18+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

输入元素表示一个控件,用于将元素的设置为表示特定的字符串。

有关日期、时间和数字表单控件的输入格式和提交格式之间差异的讨论,请参见简介部分

如果指定了value属性并且它不为空,则它的值必须是一个有效的周字符串

如果指定了min属性,则它的值必须是一个有效的周字符串。如果指定了max属性,则它的值必须是一个有效的周字符串

step属性以周为单位表示。默认步长为 1 个周。

以下常见的输入元素内容属性、IDL 属性和方法适用于该元素:autocompletelistmaxminreadonlyrequired,以及step 内容属性;listvaluevalueAsDate,以及valueAsNumber IDL 属性;select()stepDown(),以及stepUp() 方法。

value IDL 属性处于 value 模式。

inputchange 事件适用于该元素。

以下内容属性不得指定,并且不适用于此元素:acceptaltcheckeddirnameformactionformenctypeformmethodformnovalidateformtargetheightmaxlengthminlengthmultiplepatternplaceholderpopovertargetpopovertargetactionsizesrc 以及 width

以下 IDL 属性和方法不适用于此元素:checkedfilesselectionStartselectionEnd 以及 selectionDirection IDL 属性;setRangeText() 以及 setSelectionRange() 方法。

4.10.5.1.10 时间 状态 (type=time)

元素/input/time

所有当前引擎都支持。

Firefox57+Safari14.1+Chrome20+
Opera10+Edge79+
Edge (旧版)12+Internet Explorer不支持
Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android10.1+

The input 元素表示一个控件,用于将元素的设置为一个字符串,该字符串表示一个特定的时间

有关日期、时间和数字表单控件的输入格式和提交格式之间差异的讨论,请参见简介部分

如果指定了value 属性,并且它不为空,则它的值必须是一个有效的 time 字符串

如果指定了min 属性,则它的值必须是一个有效的 time 字符串。如果指定了max 属性,则它的值必须是一个有效的 time 字符串

step 属性以秒为单位。默认步长为 60 秒。

以下常见的input 元素内容属性、IDL 属性和方法适用于此元素:autocompletelistmaxminreadonlyrequired 以及 step 内容属性;listvaluevalueAsDate 以及 valueAsNumber IDL 属性;select()stepDown() 以及 stepUp() 方法。

value IDL 属性处于模式。

input 以及 change 事件适用于此元素。

以下内容属性不得指定,并且不适用于此元素:acceptaltcheckeddirnameformactionformenctypeformmethodformnovalidateformtargetheightmaxlengthminlengthmultiplepatternplaceholderpopovertargetpopovertargetactionsizesrc 以及 width

以下 IDL 属性和方法不适用于此元素:checkedfilesselectionStartselectionEnd 以及 selectionDirection IDL 属性;setRangeText() 以及 setSelectionRange() 方法。

4.10.5.1.11 本地日期和时间 状态 (type=datetime-local)

元素/input/datetime-local

所有当前引擎都支持。

Firefox93+Safari14.1+Chrome20+
Opera11+Edge79+
Edge (旧版)12+Internet Explorer不支持
Firefox Android?Safari iOS5+Chrome Android?WebView Android?Samsung Internet?Opera Android11+

The input 元素表示一个控件,用于将元素的设置为一个字符串,该字符串表示一个本地日期和时间,不包含时区偏移信息。

有关日期、时间和数字表单控件的输入格式和提交格式之间差异的讨论,请参见简介部分

如果指定了value 属性,并且它不为空,则它的值必须是一个有效的本地日期和时间字符串

如果指定了min 属性,则它的值必须是一个有效的本地日期和时间字符串。如果指定了max 属性,则它的值必须是一个有效的本地日期和时间字符串

step 属性以秒为单位。默认步长为 60 秒。

请参阅有关历史日期的说明,该说明位于日期 状态部分。

以下常见的input 元素内容属性、IDL 属性和方法适用于此元素:autocompletelistmaxminreadonlyrequired 以及 step 内容属性;listvalue 以及 valueAsNumber IDL 属性;select()stepDown() 以及 stepUp() 方法。

value IDL 属性处于模式。

input 以及 change 事件适用于此元素。

以下内容属性不得指定,并且不适用于此元素:acceptaltcheckeddirnameformactionformenctypeformmethodformnovalidateformtargetheightmaxlengthminlengthmultiplepatternplaceholderpopovertargetpopovertargetactionsizesrc,以及width

以下IDL属性和方法不适用于此元素:checkedfilesselectionStartselectionEndselectionDirection,以及valueAsDate IDL属性;setRangeText(),以及setSelectionRange()方法。

以下示例显示了航班预订应用程序的一部分。该应用程序使用一个input元素,其type属性设置为datetime-local,然后它在所选机场的时区解释给定的日期和时间。

<fieldset>
 <legend>Destination</legend>
 <p><label>Airport: <input type=text name=to list=airports></label></p>
 <p><label>Departure time: <input type=datetime-local name=totime step=3600></label></p>
</fieldset>
<datalist id=airports>
 <option value=ATL label="Atlanta">
 <option value=MEM label="Memphis">
 <option value=LHR label="London Heathrow">
 <option value=LAX label="Los Angeles">
 <option value=FRA label="Frankfurt">
</datalist>
4.10.5.1.12 数字状态 (type=number)

元素/input/number

所有当前引擎都支持。

Firefox29+Safari5.1+Chrome7+
Opera?Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

input元素表示一个用于将元素的value设置为表示数字的字符串的控件。

本规范没有定义用户代理应使用什么用户界面;鼓励用户代理供应商考虑最适合其用户需求的方法。例如,在波斯语或阿拉伯语市场中的用户代理可能支持波斯语和阿拉伯语数字输入(将其转换为如上所述提交所需的格式)。类似地,为罗马人设计的用户代理可能会以罗马数字而不是十进制显示值;或者(更现实地)为法国市场设计的用户代理可能会以千位分隔符和十进制分隔符(例如,在千位之间使用撇号,在小数点前使用逗号)显示值,并允许用户以这种方式输入值,并在内部将其转换为如上所述的提交格式。

如果指定了value属性且它不为空,则它必须具有一个有效的浮点数的值。

如果指定了min属性,则它必须具有一个有效的浮点数的值。如果指定了max属性,则它必须具有一个有效的浮点数的值。

默认步长为1(除非步长基数具有非整数值,否则只允许用户选择整数)。

以下常见的input元素内容属性、IDL属性和方法适用于此元素:autocompletelistmaxminplaceholderreadonlyrequired,以及step内容属性;listvalue,以及valueAsNumber IDL属性;select()stepDown(),以及stepUp()方法。

value IDL属性处于value模式。

inputchange事件适用于此元素。

以下内容属性不得指定,并且不适用于此元素:acceptaltcheckeddirnameformactionformenctypeformmethodformnovalidateformtargetheightmaxlengthminlengthmultiplepatternpopovertargetpopovertargetactionsizesrc,以及width

以下IDL属性和方法不适用于此元素:checkedfilesselectionStartselectionEndselectionDirection,以及valueAsDate IDL属性;setRangeText(),以及setSelectionRange()方法。

以下是使用数字输入控件的示例

<label>How much do you want to charge? $<input type=number min=0 step=0.01 name=price></label>

如上所述,用户代理可能会支持以用户的本地格式进行数字输入,并将其转换为如上所述提交所需的格式。这可能包括处理分组分隔符(如“872,000,000,000”)和各种小数分隔符(如“3,99”与“3.99”),或使用本地数字(如阿拉伯语、天城体、波斯语和泰语中的数字)。

type=number状态不适合仅包含数字但严格来说不是数字的输入。例如,它不适合信用卡号或美国邮政编码。确定是否使用type=number的一种简单方法是考虑输入控件是否适合使用旋转框界面(例如,带有“向上”和“向下”箭头)。将信用卡号的最后一位数字输错1位不是小错误,它与输错所有数字一样错误。因此,使用“向上”和“向下”按钮选择信用卡号是没有意义的。当旋转框界面不合适时,type=text可能是正确的选择(可能带有inputmodepattern属性)。

4.10.5.1.13 范围状态 (type=range)

元素/input/range

所有当前引擎都支持。

Firefox23+Safari3.1+Chrome4+
Opera11+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android52+Safari iOS5+Chrome Android57+WebView Android4.4+Samsung Internet?Opera Android11+

input元素表示一个用于将元素的value设置为表示数字的字符串的控件,但有一个需要注意的地方,即确切的值并不重要,可以让UA提供比数字状态更简单的界面。

如果指定了value属性,则它必须具有一个有效的浮点数的值。

默认值最小值加上最小值最大值之间差值的一半,除非最大值小于最小值,在这种情况下,该默认值最小值.

这是一个使用自动完成列表的范围控件示例,使用 list 属性。这在控件的整个范围内有特别重要的值时可能很有用,例如在用作速度控制的范围控件中预先配置的光照水平或典型的速度限制。以下标记片段

<input type="range" min="-100" max="100" value="0" step="10" name="power" list="powers">
<datalist id="powers">
<option value="0">
<option value="-30">
<option value="30">
 <option value="++50">
</datalist>

...应用以下样式表

input { writing-mode: vertical-lr; height: 75px; width: 49px; background: #D5CCBB; color: black; }

...可能呈现为

A vertical slider control whose primary color is black and whose background color is beige, with the slider having five tick marks, one long one at each extremity, and three short ones clustered around the midpoint.

注意 UA 如何从样式表指定的 height 和 width 属性的比率确定控件的方向。颜色也类似地从样式表中获取。但是,刻度标记是从标记中获取的。特别是,step 属性没有影响刻度标记的放置,UA 决定只使用作者指定的完成值,然后在极端值处添加更长的刻度标记。

还要注意无效值 ++50 被忽略了。

另一个例子,请考虑以下标记片段

<input name=x type=range min=100 max=700 step=9.09090909 value=509.090909>

用户代理可以用多种方式显示,例如

As a dial.

或者,另外,例如

As a long horizontal slider with tick marks.

用户代理可以根据样式表中给出的尺寸选择要显示的哪一个。这将使它能够保持刻度标记的相同分辨率,尽管宽度不同。

最后,这是一个带有两个标记值的范围控件的示例

<input type="range" name="a" list="a-values">
<datalist id="a-values">
<option value="10" label="Low">
<option value="90" label="High">
</datalist>

使用使控件垂直绘制的样式,它可能如下所示

A vertical slider control with two tick marks, one near the top labeled 'High', and one near the bottom labeled 'Low'.

在这种状态下,即使在用户输入期间也会强制执行范围和步长约束,并且无法将值设置为空字符串。

如果指定了 min 属性,则其值必须是 有效的浮点数默认最小值 为 0。如果指定了 max 属性,则其值必须是 有效的浮点数默认最大值 为 100。

默认步长 为 1(仅允许整数,除非 min 属性具有非整数值)。

以下常见 input 元素内容属性、IDL 属性和方法 应用 于该元素:autocompletelistmaxminstep 内容属性;listvaluevalueAsNumber IDL 属性;stepDown()stepUp() 方法。

value IDL 属性处于 value 模式。

inputchange 事件 应用

以下内容属性不得指定,并且 不应用 于该元素:acceptaltcheckeddirnameformactionformenctypeformmethodformnovalidateformtargetheightmaxlengthminlengthmultiplepatternplaceholderpopovertargetpopovertargetactionreadonlyrequiredsizesrcwidth

以下 IDL 属性和方法 不应用 于该元素:checkedfilesselectionStartselectionEndselectionDirectionvalueAsDate IDL 属性;select()setRangeText()setSelectionRange() 方法。

4.10.5.1.14 颜色 状态 (type=color)

元素/输入/颜色

所有当前引擎都支持。

Firefox29+Safari12.1+Chrome20+
Opera12+Edge79+
Edge (Legacy)14+Internet Explorer
Firefox Android🔰 27+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12+

input 元素 表示 一个颜色井控件,用于将元素的 设置为表示 简单颜色 的字符串。

如果指定了 value 属性并且不为空,则其值必须是 有效的简单颜色

以下常见 input 元素内容属性和 IDL 属性 应用 于该元素:autocompletelist 内容属性;listvalue IDL 属性;select() 方法。

value IDL 属性处于 value 模式。

inputchange 事件 应用

以下内容属性不得指定,并且 不应用 于该元素:acceptaltcheckeddirnameformactionformenctypeformmethodformnovalidateformtargetheightmaxmaxlengthminminlengthmultiplepatternplaceholderpopovertargetpopovertargetactionreadonlyrequiredsizesrcstepwidth

以下 IDL 属性和方法 不应用 于该元素:checkedfilesselectionStartselectionEndselectionDirectionvalueAsDatevalueAsNumber IDL 属性;setRangeText()setSelectionRange()stepDown()stepUp() 方法。

4.10.5.1.15 复选框 状态 (type=checkbox)

元素/输入/复选框

所有当前引擎都支持。

Firefox1+Safari1+Chrome1+
Opera?Edge79+
Edge (Legacy)12+Internet ExplorerYes
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

The input 元素 表示 一个双状态控件,代表元素的 选中状态。 如果元素的 选中状态 为真,则控件表示正向选择;如果为假,则表示负向选择。 如果元素的 indeterminate IDL 属性设置为真,则控件的选择应被隐藏,就好像控件处于第三种不确定的状态一样。

即使元素的 indeterminate IDL 属性设置为真,控件也永远不会是真正的三态控件。 indeterminate IDL 属性只提供了第三种状态的外观。

input.indeterminate [ = value ]

HTMLInputElement#indeterminate

所有当前引擎都支持。

Firefox3.6+Safari3+Chrome1+
Opera≤12.1+Edge79+
Edge (Legacy)12+Internet Explorer5.5+
Firefox Android?Safari iOS1+Chrome Android?WebView Android?Samsung Internet?Opera Android≤12.1+
caniuse.com 表格

设置后,将覆盖 复选框 控件的渲染,使当前值不可见。

以下常见 input 元素内容属性和 IDL 属性 适用于 该元素: checkedrequired 内容属性; checkedvalue IDL 属性。

The value IDL 属性处于 default/on 模式。

The inputchange 事件 适用于 该元素。

以下内容属性不能被指定,并且 不适用于 该元素: accept, alt, autocomplete, dirname, formaction, formenctype, formmethod, formnovalidate, formtarget, height, list, max, maxlength, min, minlength, multiple, pattern, placeholder, popovertarget, popovertargetaction, readonly, size, src, stepwidth.

以下 IDL 属性和方法 不适用于 该元素: files, list, selectionStart, selectionEnd, selectionDirection, valueAsDatevalueAsNumber IDL 属性; select(), setRangeText(), setSelectionRange(), stepDown()stepUp() 方法。

4.10.5.1.16 单选按钮 状态 (type=radio)

Element/input/radio

所有当前引擎都支持。

Firefox1+Safari1+Chrome1+
Opera?Edge79+
Edge (Legacy)12+Internet ExplorerYes
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

The input 元素 表示 一个控件,当与其他 input 元素一起使用时,会形成一个 单选按钮组,其中只有一个控件的 选中状态 可以设置为真。 如果元素的 选中状态 为真,则该控件表示该组中选中的控件;如果为假,则表示该组中未选中的控件。

包含 input 元素 a单选按钮组 还包含所有其他 input 元素 b,它们满足以下所有条件

一个 不得包含一个 input 元素,其 单选按钮组 仅包含该元素。

如果 单选按钮组 中的单选按钮均未选中,则它们在界面中将全部处于初始未选中状态,直到其中一个被选中(通过用户或脚本)。

以下常见 input 元素内容属性和 IDL 属性 适用于 该元素: checkedrequired 内容属性; checkedvalue IDL 属性。

The value IDL 属性处于 default/on 模式。

The inputchange 事件 适用于 该元素。

以下内容属性不能被指定,并且 不适用于 该元素: accept, alt, autocomplete, dirname, formaction, formenctype, formmethod, formnovalidate, formtarget, height, list, max, maxlength, min, minlength, multiple, pattern, placeholder, popovertarget, popovertargetaction, readonly, size, src, stepwidth.

以下 IDL 属性和方法不适用于该元素:fileslistselectionStartselectionEndselectionDirectionvalueAsDatevalueAsNumber IDL 属性;select()setRangeText()setSelectionRange()stepDown()stepUp() 方法。

4.10.5.1.17 文件上传 状态 (type=file)

元素/input/file

所有当前引擎都支持。

Firefox1+Safari1+Chrome1+
Opera11+Edge79+
Edge (Legacy)12+Internet ExplorerYes
Firefox Android4+Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android11+

input 元素代表一个已选择文件列表,每个文件都包含文件名、文件类型和文件主体(文件内容)。


属性/accept

所有当前引擎都支持。

Firefox1+Safari1+Chrome1+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer6+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

元素/input#attr-accept

所有当前引擎都支持。

Firefox37+Safari11.1+Chrome26+
Opera15+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android37+Safari iOS11.3+Chrome Android26+WebView Android4.4+Samsung Internet1.5+Opera Android15+

accept 属性可用于向用户代理提供有关将接受哪些文件类型的提示。

如果指定了该属性,它必须包含一个逗号分隔的标记集,其中每个标记都必须与以下内容之一进行不区分大小写匹配:

字符串 "audio/*"
表示接受声音文件。
字符串 "video/*"
表示接受视频文件。
字符串 "image/*"
表示接受图像文件。
一个不带参数的有效 MIME 类型字符串
表示接受指定类型的文件。
第一个字符为 U+002E FULL STOP 字符 (.) 的字符串
表示接受具有指定文件扩展名的文件。

这些标记不能与任何其他标记进行不区分大小写匹配(即不允许重复)。

用户代理可以使用此属性的值来显示比通用文件选择器更合适的用户界面。例如,如果值为 image/*,则用户代理可以向用户提供使用本地摄像头或从照片库中选择照片的选项;如果值为 audio/*,则用户代理可以向用户提供使用耳机麦克风录制音频片段的选项。

鼓励作者在查找特定格式的数据时同时指定任何 MIME 类型和任何相应的扩展名。

例如,考虑一个将 Microsoft Word 文档转换为 Open Document Format 文件的应用程序。由于 Microsoft Word 文档是用各种 MIME 类型和扩展名描述的,因此该站点可以列出几个,如下所示:

<input type="file" accept=".doc,.docx,.xml,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document">

在仅使用文件扩展名描述文件类型的平台上,此处列出的扩展名可用于筛选允许的文档,而 MIME 类型可与系统的类型注册表(将 MIME 类型映射到系统使用的扩展名)一起使用,如果有的话,以确定允许的任何其他扩展名。类似地,在没有文件名或扩展名,而是使用 MIME 类型在内部标记文档的系统上,MIME 类型可用于选择允许的文件,而扩展名可在系统具有扩展名注册表的情况下使用,该注册表将已知的扩展名映射到系统使用的 MIME 类型。

扩展名往往是模棱两可的(例如,使用 ".dat" 扩展名的格式不计其数,用户通常可以很容易地将他们的文件重命名为具有 ".doc" 扩展名,即使它们不是 Microsoft Word 文档),而 MIME 类型往往不可靠(例如,许多格式没有正式注册的类型,许多格式实际上使用多种不同的 MIME 类型进行标记)。作者应记住,与往常一样,应谨慎对待从客户端接收的数据,因为它可能不是预期的格式,即使用户并非恶意,用户代理也完全遵守了accept 属性的要求。

元素/input/file

出于历史原因,value IDL 属性在文件名之前添加字符串 "C:\fakepath\"。一些旧版用户代理实际上包含了完整的路径(这是一种安全漏洞)。因此,以向后兼容的方式从 value IDL 属性中获取文件名并非易事。以下函数以一种适当兼容的方式提取文件名:

function extractFilename(path) {
  if (path.substr(0, 12) == "C:\\fakepath\\")
    return path.substr(12); // modern browser
  var x;
  x = path.lastIndexOf('/');
  if (x >= 0) // Unix-based path
    return path.substr(x+1);
  x = path.lastIndexOf('\\');
  if (x >= 0) // Windows-based path
    return path.substr(x+1);
  return path; // just the filename
}

这可以按如下方式使用:

<p><input type=file name=image onchange="updateFilename(this.value)"></p>
<p>The name of the file you picked is: <span id="filename">(none)</span></p>
<script>
 function updateFilename(path) {
   var name = extractFilename(path);
   document.getElementById('filename').textContent = name;
 }
</script>

以下常见input 元素内容属性和 IDL 属性适用于该元素:acceptmultiplerequired 内容属性;filesvalue IDL 属性;select() 方法。

value IDL 属性处于 filename 模式。

inputchange 事件适用于

以下内容属性不得指定,并且不适用于该元素:altautocompletecheckeddirnameformactionformenctypeformmethodformnovalidateformtargetheightlistmaxmaxlengthminminlengthpatternpopovertargetpopovertargetactionplaceholderreadonlysizesrcstepwidth

该元素的value 属性必须省略。

以下 IDL 属性和方法不适用于该元素:checkedlistselectionStartselectionEndselectionDirectionvalueAsDatevalueAsNumber IDL 属性;setRangeText()setSelectionRange()stepDown()stepUp() 方法。

4.10.5.1.18 提交按钮 状态 (type=submit)

元素/input/submit

所有当前引擎都支持。

Firefox1+Safari1+Chrome1+
Opera?Edge79+
Edge (Legacy)12+Internet ExplorerYes
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

input 元素代表一个按钮,当激活时会提交表单。该元素是一个按钮,具体来说是一个提交按钮

由于默认标签是由实现定义的,而按钮的宽度通常取决于按钮的标签,因此按钮的宽度可能会泄露一些可指纹化的信息。这些信息很可能与用户代理的身份和用户的区域设置密切相关。

formactionformenctypeformmethodformnovalidateformtarget 属性是表单提交属性

可以使用 formnovalidate 属性来创建不会触发约束验证的提交按钮。

以下常见 input 元素内容属性和 IDL 属性应用于该元素:dirnameformactionformenctypeformmethodformnovalidateformtargetpopovertargetpopovertargetaction 内容属性;value IDL 属性。

value IDL 属性处于默认模式。

以下内容属性不得指定,并且不适用于该元素:acceptaltautocompletecheckedheightlistmaxmaxlengthminminlengthmultiplepatternplaceholderreadonlyrequiredsizesrcstepwidth

以下 IDL 属性和方法不适用于该元素:checkedfileslistselectionStartselectionEndselectionDirectionvalueAsDatevalueAsNumber IDL 属性;select()setRangeText()setSelectionRange()stepDown()stepUp() 方法。

inputchange 事件不适用

4.10.5.1.19 图像按钮 状态 (type=image)

Element/input/image

所有当前引擎都支持。

Firefox1+Safari1+Chrome1+
Opera?Edge79+
Edge (Legacy)12+Internet ExplorerYes
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

input 元素表示 用户可以选择坐标并提交表单的图像,或者表示用户可以提交表单的按钮。该元素是一个按钮,更具体地说,是一个提交按钮

坐标通过发送两个元素条目发送到服务器表单提交期间,这些条目来自控件的名称,但在名称后面附加了 ".x" 和 ".y",分别对应坐标的 xy 分量。


Element/input#src

所有当前引擎都支持。

Firefox1+Safari1+Chrome1+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer5.5+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

图像由src 属性给出。 src 属性必须存在,并且必须包含一个有效的非空 URL,可能包含空格,引用非交互式、可选动画的图像资源,该资源既不分页也不带脚本。

Element/input#alt

所有当前引擎都支持。

Firefox1+Safari1+Chrome1+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer5.5+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

alt 属性为按钮提供文本标签,供无法使用图像的用户和用户代理使用。 alt 属性必须存在,并且必须包含一个非空字符串,该字符串给出如果图像不可用则等效按钮的标签。

input 元素支持尺寸属性


如果 src 属性已设置,并且图像可用,并且用户代理配置为显示该图像,则该元素表示 用于从 src 属性指定的图像中选择坐标的控件。在这种情况下,如果该元素是可变的,则用户代理应允许用户选择此坐标

否则,该元素表示 提交按钮,其标签由 alt 属性的值给出。

formactionformenctypeformmethodformnovalidateformtarget 属性是表单提交属性

image.width [ = value ]
image.height [ = value ]

这些属性返回图像的实际渲染尺寸,如果尺寸未知,则返回 0。

它们可以被设置,以更改相应的属性内容。

以下常见 input 元素内容属性和 IDL 属性应用于该元素:altformactionformenctypeformmethodformnovalidateformtargetheightpopovertargetpopovertargetactionsrcwidth 内容属性;value IDL 属性。

value IDL 属性处于默认模式。

以下内容属性不得指定,并且不适用于该元素:acceptautocompletecheckeddirnamelistmaxmaxlengthminminlengthmultiplepatternplaceholderreadonlyrequiredsizestep

元素的 value 属性必须省略。

以下 IDL 属性和方法不适用于该元素:checkedfileslistselectionStartselectionEndselectionDirectionvalueAsDate,以及 valueAsNumber IDL 属性;select()setRangeText()setSelectionRange()stepDown(),以及 stepUp() 方法。

The inputchange 事件不适用

该状态的许多行为方面与 img 元素的行为类似。鼓励读者阅读该部分,其中许多相同的要求以更详细的方式描述。

以下表单

<form action="process.cgi">
 <input type=image src=map.png name=where alt="Show location list">
</form>

如果用户在坐标 (127,40) 处单击图像,则用于提交表单的 URL 将为 "process.cgi?where.x=127&where.y=40"。

(在本示例中,假设对于看不到地图的用户,他们只看到一个标记为“显示位置列表”的按钮,单击该按钮将导致服务器显示一个位置列表以供选择,而不是地图。)

4.10.5.1.20 重置按钮 状态 (type=reset)

Element/input/reset

所有当前引擎都支持。

Firefox1+Safari1+Chrome1+
Opera?Edge79+
Edge (Legacy)12+Internet ExplorerYes
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

The input 元素代表一个按钮,当激活时,重置表单。该元素是一个按钮

由于默认标签是实现定义的,并且按钮的宽度通常取决于按钮的标签,因此按钮的宽度可能会泄露一些指纹信息。这些信息很可能与用户代理的身份和用户的语言环境高度相关。

The value IDL 属性适用于该元素,并且处于 default 模式。

以下常见 input 元素内容属性适用于该元素:popovertargetpopovertargetaction

以下内容属性不得指定,并且不适用于该元素:acceptaltautocompletecheckeddirnameformactionformenctypeformmethodformnovalidateformtargetheightlistmaxmaxlengthminminlengthmultiplepatternplaceholderreadonlyrequiredsizesrcstep,以及 width

以下 IDL 属性和方法不适用于该元素:checkedfileslistselectionStartselectionEndselectionDirectionvalueAsDate,以及 valueAsNumber IDL 属性;select()setRangeText()setSelectionRange()stepDown(),以及 stepUp() 方法。

The inputchange 事件不适用

4.10.5.1.21 按钮 状态 (type=button)

Element/input/button

所有当前引擎都支持。

Firefox1+Safari1+Chrome1+
Opera?Edge79+
Edge (Legacy)12+Internet ExplorerYes
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

The input 元素代表一个没有默认行为的按钮。必须在 value 属性中提供按钮的标签,尽管它可能是空字符串。该元素是一个按钮

The value IDL 属性适用于该元素,并且处于 default 模式。

以下常见 input 元素内容属性适用于该元素:popovertargetpopovertargetaction

以下内容属性不得指定,并且不适用于该元素:acceptaltautocompletecheckeddirnameformactionformenctypeformmethodformnovalidateformtargetheightlistmaxmaxlengthminminlengthmultiplepatternplaceholderreadonlyrequiredsizesrcstep,以及 width

以下 IDL 属性和方法不适用于该元素:checkedfileslistselectionStartselectionEndselectionDirectionvalueAsDate,以及 valueAsNumber IDL 属性;select()setRangeText()setSelectionRange()stepDown(),以及 stepUp() 方法。

The inputchange 事件不适用

4.10.5.2 常见 input 元素属性
4.10.5.2.1 maxlengthminlength 属性

属性/maxlength

所有当前引擎都支持。

Firefox1+Safari1+Chrome1+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer5.5+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

属性/minlength

所有当前引擎都支持。

Firefox51+Safari10.1+Chrome40+
Opera?Edge79+
Edge (Legacy)17+Internet Explorer
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

属性/maxlength

所有当前引擎都支持。

Firefox4+Safari5+Chrome4+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS5+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

属性/minlength

所有当前引擎都支持。

Firefox51+Safari10.1+Chrome40+
Opera?Edge79+
Edge (Legacy)17+Internet Explorer
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

元素/input#attr-maxlength

所有当前引擎都支持。

Firefox4+Safari5.1+Chrome4+
Opera15+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android5+Safari iOS9+Chrome Android18+WebView Android4.4+Samsung Internet1.5+Opera Android15+
caniuse.com 表格

maxlength 属性是 表单控件 maxlength 属性

元素/input#attr-minlength

所有当前引擎都支持。

Firefox51+Safari10.1+Chrome40+
Opera27+Edge79+
Edge (Legacy)17+Internet Explorer
Firefox Android51+Safari iOS10.3+Chrome Android40+WebView Android40+Samsung Internet4.0+Opera Android27+
caniuse.com 表格

minlength 属性是 表单控件 minlength 属性

如果 input 元素具有 允许的最大值长度,则元素的 value 属性值的 长度 必须小于或等于元素的 允许的最大值长度

以下摘录展示了如何将消息客户端的文本输入任意限制为固定数量的字符,从而迫使通过此媒介进行的任何对话都简短并阻止智能的讨论。

<label>What are you doing? <input name=status maxlength=140></label>

这里,密码被赋予了最小长度

<p><label>Username: <input name=u required></label>
<p><label>Password: <input name=p required minlength=12></label>
4.10.5.2.2 size 属性

size 属性指定在视觉渲染中,用户代理允许用户在编辑元素的 value 时看到的字符数。

如果指定了 size 属性,则其值必须是大于零的 有效非负整数

4.10.5.2.3 readonly 属性

属性/readonly

所有当前引擎都支持。

Firefox1+Safari1+Chrome1+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer5.5+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

属性/readonly

所有当前引擎都支持。

Firefox1+Safari4+Chrome1+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer6+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android12.1+

属性/readonly

所有当前引擎都支持。

Firefox1+Safari≤4+Chrome1+
Opera≤12.1+Edge79+
Edge (Legacy)12+Internet Explorer≤6+
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android≤12.1+

readonly 属性是 布尔属性,用于控制用户是否可以编辑表单控件。

disabledreadonly 之间的区别在于,只读控件仍然可以正常工作,而禁用控件通常无法作为控件工作,直到它们被启用。本规范中其他地方更详细地说明了这一点,其中包含规范性要求,这些要求引用了 disabled 概念(例如,元素的 激活行为,它是否是 可聚焦区域,或是在 构建条目列表 时)。与禁用控件的用户交互相关的任何其他行为,例如是否可以选择或复制文本,在本标准中没有定义。

只有文本控件可以设置为只读,因为对于其他控件(如复选框和按钮),没有只读和禁用的有用区别,因此 readonly 属性 不适用

在以下示例中,现有的产品标识符不能修改,但它们仍然作为表单的一部分显示,以与代表新产品的行(其中标识符尚未填写)保持一致。

<form action="products.cgi" method="post" enctype="multipart/form-data">
 <table>
  <tr> <th> Product ID <th> Product name <th> Price <th> Action
  <tr>
   <td> <input readonly="readonly" name="1.pid" value="H412">
   <td> <input required="required" name="1.pname" value="Floor lamp Ulke">
   <td> $<input required="required" type="number" min="0" step="0.01" name="1.pprice" value="49.99">
   <td> <button formnovalidate="formnovalidate" name="action" value="delete:1">Delete</button>
  <tr>
   <td> <input readonly="readonly" name="2.pid" value="FG28">
   <td> <input required="required" name="2.pname" value="Table lamp Ulke">
   <td> $<input required="required" type="number" min="0" step="0.01" name="2.pprice" value="24.99">
   <td> <button formnovalidate="formnovalidate" name="action" value="delete:2">Delete</button>
  <tr>
   <td> <input required="required" name="3.pid" value="" pattern="[A-Z0-9]+">
   <td> <input required="required" name="3.pname" value="">
   <td> $<input required="required" type="number" min="0" step="0.01" name="3.pprice" value="">
   <td> <button formnovalidate="formnovalidate" name="action" value="delete:3">Delete</button>
 </table>
 <p> <button formnovalidate="formnovalidate" name="action" value="add">Add</button> </p>
 <p> <button name="action" value="update">Save</button> </p>
</form>
4.10.5.2.4 required 属性

required 属性是 布尔属性。当指定时,元素为 必需

以下表单有两个必需字段,一个用于电子邮件地址,一个用于密码。它还有一个第三个字段,只有当用户在密码字段和第三个字段中输入相同的密码时才被认为有效。

<h1>Create new account</h1>
<form action="/newaccount" method=post
      oninput="up2.setCustomValidity(up2.value != up.value ? 'Passwords do not match.' : '')">
 <p>
  <label for="username">Email address:</label>
  <input id="username" type=email required name=un>
 <p>
  <label for="password1">Password:</label>
  <input id="password1" type=password required name=up>
 <p>
  <label for="password2">Confirm password:</label>
  <input id="password2" type=password name=up2>
 <p>
  <input type=submit value="Create account">
</form>

对于单选按钮,如果 中的任何一个单选按钮被选中,则 required 属性满足。因此,在以下示例中,任何一个单选按钮都可以被选中,而不仅仅是标记为必需的那个。

<fieldset>
 <legend>Did the movie pass the Bechdel test?</legend>
 <p><label><input type="radio" name="bechdel" value="no-characters"> No, there are not even two female characters in the movie. </label>
 <p><label><input type="radio" name="bechdel" value="no-names"> No, the female characters never talk to each other. </label>
 <p><label><input type="radio" name="bechdel" value="no-topic"> No, when female characters talk to each other it's always about a male character. </label>
 <p><label><input type="radio" name="bechdel" value="yes" required> Yes. </label>
 <p><label><input type="radio" name="bechdel" value="unknown"> I don't know. </label>
</fieldset>

为了避免对 单选按钮组 是必需还是可选产生混淆,作者鼓励在组中的所有单选按钮上指定该属性。实际上,一般来说,作者鼓励避免使用任何一开始没有选中控件的单选按钮组,因为这是用户无法返回到的状态,因此通常被认为是糟糕的用户界面。

4.10.5.2.5 multiple 属性

属性/multiple

所有当前引擎都支持。

Firefox3.6+Safari4+Chrome2+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

元素/input#attr-multiple

所有当前引擎都支持。

Firefox3.6+Safari4+Chrome2+
Opera≤12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS?Chrome Android?WebView Android≤37+Samsung Internet?Opera Android≤12.1+

multiple 属性是 布尔属性,用于指示是否允许用户指定多个值。

以下摘录展示了如何使电子邮件客户端的“收件人”字段接受多个电子邮件地址。

<label>To: <input type=email multiple name=to></label>

如果用户在其用户联系人数据库中有很多朋友,其中有两个朋友分别是“蜘蛛侠”(地址为“[email protected]”)和“绯红女巫”(地址为“[email protected]”),那么在用户输入“s”后,用户代理可能会向用户建议这两个电子邮件地址。

该页面也可以从网站上链接到用户的联系人数据库。

<label>To: <input type=email multiple name=to list=contacts></label>
...
<datalist id="contacts">
 <option value="[email protected]">
 <option value="[email protected]">
 <option value="[email protected]">
 <option value="[email protected]">
</datalist>

假设用户已在该文本控件中输入了“[email protected]”,然后开始输入以“s”开头的第二个电子邮件地址。用户代理可能会显示前面提到的两位朋友,以及 datalist 元素中给出的“astrophy”和“astronomy”值。

以下摘录展示了如何使电子邮件客户端的“附件”字段接受多个文件以供上传。

<label>Attachments: <input type=file multiple name=att></label>
4.10.5.2.6 pattern 属性

属性/pattern

所有当前引擎都支持。

Firefox4+Safari5+Chrome4+
Opera≤12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS4+Chrome Android?WebView Android≤37+Samsung Internet?Opera Android≤12.1+

属性/pattern

所有当前引擎都支持。

Firefox4+Safari5+Chrome4+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS4+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

pattern 属性指定一个正则表达式,用于检查控件的 value,或者当 multiple 属性 适用 并被设置时,用于检查控件的 values

如果指定,则属性的值必须与 JavaScript Pattern[+UnicodeSetsMode, +N] 产生式匹配。

当 `input` 元素具有指定的 `pattern` 属性时,作者应包含 `title` 属性以提供模式的描述。用户代理可能会在通知用户模式不匹配时,或在其他任何合适的时间(例如,在工具提示中或当控件 `获得焦点` 时通过辅助技术读出)使用此属性的内容,如果存在。

例如,以下代码片段

<label> Part number:
 <input pattern="[0-9][A-Z]{3}" name="part"
        title="A part number is a digit followed by three uppercase letters."/>
</label>

...可能会导致 UA 显示类似的警报

A part number is a digit followed by three uppercase letters.
You cannot submit this form when the field is incorrect.

当控件具有 `pattern` 属性时,`title` 属性(如果使用)必须描述该模式。还可以包含其他信息,只要它有助于用户填写控件。否则,辅助技术将受到影响。

例如,如果标题属性包含控件的标题,辅助技术最终可能会说出类似 `您输入的文本与所需模式不匹配。生日` 之类的内容,这没有用。

UA 仍然可以在非错误情况下显示 `title`(例如,作为悬停在控件上的工具提示),因此作者应该注意不要将 `title` 表述得好像已经发生了错误。

4.10.5.2.7 `min` 和 `max` 属性

属性/max

所有当前引擎都支持。

Firefox16+Safari5+Chrome4+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS4+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

属性/min

所有当前引擎都支持。

Firefox16+Safari5+Chrome4+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS4+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

一些表单控件可以应用明确的约束,限制用户可以提供的允许值范围。通常,此范围将是线性且连续的。但是,表单控件可以 `具有周期性域`,在这种情况下,表单控件的最广泛可能范围是有限的,并且作者可以在其中指定跨越边界的明确范围。

具体来说,`type=time` 控件的最广泛范围是午夜到午夜(24 小时),作者可以设置连续线性范围(例如,晚上 9 点到晚上 11 点)和跨越午夜的不连续范围(例如,晚上 11 点到凌晨 1 点)。

`min` 和 `max` 属性指示元素允许的值范围。

如果元素不 `具有周期性域`,则 `max` 属性的值(最大值)不能小于 `min` 属性的值(其 最小值)。

如果元素具有定义的 最小值或定义的 最大值,则该元素 `具有范围限制`。

以下日期控件将输入限制为 1980 年代之前的日期

<input name=bday type=date max="1979-12-31">

以下数字控件将输入限制为大于零的整数

<input name=quantity required="" type="number" min="1" value="1">

以下时间控件将输入限制为晚上 9 点到凌晨 6 点之间发生的那些分钟,默认值为午夜

<input name="sleepStart" type=time min="21:00" max="06:00" step="60" value="00:00">
4.10.5.2.8 `step` 属性

属性/step

所有当前引擎都支持。

Firefox16+Safari5+Chrome5+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS4+Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

`step` 属性指示对 `` 或 `` 所期望的(和必需的)粒度,通过限制允许的值。

如果指定了 `step` 属性,则其值必须是 `有效的浮点数`,该数解析为大于零的数字,或者其值必须与字符串 "any" 的 `ASCII 不区分大小写` 匹配。

以下范围控件仅接受 0..1 范围内的值,并在该范围内允许 256 个步长

<input name=opacity type=range min=0 max=1 step=0.00392156863>

以下控件允许选择一天中的任何时间,具有任何精度(例如,千分之一秒精度或更高)

<input name=favtime type=time step=any>

通常,时间控件的精度限制为一分钟。

4.10.5.2.9 `list` 属性

元素/input#list

所有当前引擎都支持。

Firefox4+Safari12.1+Chrome20+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS?Chrome Android?WebView Android4.4.3+Samsung Internet?Opera Android12.1+

`list` 属性用于标识一个元素,该元素列出了建议给用户的预定义选项。

如果存在,其值必须是 `ID`,表示同一 `` 中的 `datalist` 元素。

此 URL 字段提供一些建议。

<label>Homepage: <input name=hp type=url list=hpurls></label>
<datalist id=hpurls>
 <option value="https://www.google.com/" label="Google">
 <option value="https://www.reddit.com/" label="Reddit">
</datalist>

用户历史记录中的其他 URL 也可能会显示;这取决于用户代理。

此示例演示了如何在设计表单时使用自动完成列表功能,同时在传统用户代理中仍能有用地降级。

如果自动完成列表仅仅是一个辅助工具,对内容并不重要,那么只需使用一个 `datalist` 元素,其中包含子 `option` 元素就足够了。为了防止在传统用户代理中呈现值,它们需要放置在 `value` 属性中,而不是内联。

<p>
 <label>
  Enter a breed:
  <input type="text" name="breed" list="breeds">
  <datalist id="breeds">
   <option value="Abyssinian">
   <option value="Alpaca">
   <!-- ... -->
  </datalist>
 </label>
</p>

但是,如果需要在传统 UA 中显示这些值,则可以在 `datalist` 元素中放置回退内容,如下所示

<p>
 <label>
  Enter a breed:
  <input type="text" name="breed" list="breeds">
 </label>
 <datalist id="breeds">
  <label>
   or select one from the list:
   <select name="breed">
    <option value=""> (none selected)
    <option>Abyssinian
    <option>Alpaca
    <!-- ... -->
   </select>
  </label>
 </datalist>
</p>

回退内容仅在不支持 `datalist` 的 UA 中显示。另一方面,选项将被所有 UA 检测到,即使它们不是 `datalist` 元素的子元素。

请注意,如果 `datalist` 中使用的 `option` 元素被 `selected`,它将默认情况下被传统 UA 选择(因为它会影响 `select` 元素),但它不会对支持 `datalist` 的 UA 中的 `input` 元素有任何影响。

4.10.5.2.10 `placeholder` 属性

元素/input#placeholder

所有当前引擎都支持。

Firefox4+Safari4+Chrome3+
Opera12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS?Chrome Android?WebView Android37+Samsung Internet?Opera Android12.1+

元素/input#attr-placeholder

所有当前引擎都支持。

Firefox4+Safari4+Chrome3+
Opera≤12.1+Edge79+
Edge (Legacy)12+Internet Explorer10+
Firefox Android?Safari iOS?Chrome Android?WebView Android≤37+Samsung Internet?Opera Android≤12.1+

`placeholder` 属性表示一个简短的提示(一个词或短语),旨在帮助用户在控件没有值时进行数据输入。提示可以是一个示例值或对预期格式的简要描述。如果指定了该属性,其值必须不包含任何 U+000A 换行符 (LF) 或 U+000D 回车符 (CR) 字符。

`placeholder` 属性不应作为 `label` 的替代品使用。对于较长的提示或其他提示性文本,`title` 属性更合适。

这些机制非常相似,但略有不同:控件 `label` 给出的提示始终显示;在 `placeholder` 属性中给出的简短提示在用户输入值之前显示;而 `title` 属性中的提示在用户请求进一步帮助时显示。

以下是一个使用 `placeholder` 属性的邮件配置用户界面的示例

<fieldset>
 <legend>Mail Account</legend>
 <p><label>Name: <input type="text" name="fullname" placeholder="John Ratzenberger"></label></p>
 <p><label>Address: <input type="email" name="address" placeholder="[email protected]"></label></p>
 <p><label>Password: <input type="password" name="password"></label></p>
 <p><label>Description: <input type="text" name="desc" placeholder="My Email Account"></label></p>
</fieldset>

在控件内容具有一个方向性而占位符需要具有不同方向性的情况下,可以在属性值中使用 Unicode 的双向算法格式化字符

<input name=t1 type=tel placeholder="&#x202B;رقم الهاتف 1&#x202E;">
<input name=t2 type=tel placeholder="&#x202B;رقم الهاتف 2&#x202E;">

为了稍微清晰一些,以下是使用数字字符引用而不是内联阿拉伯语的相同示例

<input name=t1 type=tel placeholder="&#x202B;&#1585;&#1602;&#1605; &#1575;&#1604;&#1607;&#1575;&#1578;&#1601; 1&#x202E;">
<input name=t2 type=tel placeholder="&#x202B;&#1585;&#1602;&#1605; &#1575;&#1604;&#1607;&#1575;&#1578;&#1601; 2&#x202E;">
4.10.5.3 通用 `input` 元素 API
input.value [ = value ]

返回表单控件的当前 ``。

可以设置,以更改值。

如果设置为除空字符串之外的任何值,并且控件是文件上传控件,则会抛出 `"InvalidStateError"` `DOMException`。

input.checked [ = value ]

返回表单控件的当前 `选中状态`。

可以设置,以更改 `选中状态`。

input.files [ = files ]

返回一个 `FileList` 对象,该对象列出了表单控件的 `选定文件`。

如果控件不是文件控件,则返回 null。

可以设置为 `FileList` 对象,以更改表单控件的 `选定文件`。例如,作为拖放操作的结果。

input.valueAsDate [ = value ]

返回一个 `Date` 对象,该对象表示表单控件的 ``(如果适用);否则,返回 null。

可以设置,以更改值。

如果控件不是基于日期或时间的,则会抛出 `"InvalidStateError"` `DOMException`。

input.valueAsNumber [ = value ]

如果适用,则返回表示窗体控件的 的数字;否则,返回 NaN。

可以设置,以更改值。将其设置为 NaN 将把基础值设置为空字符串。

如果控件既不是基于日期或时间的,也不是数字的,则抛出 "InvalidStateError" DOMException

input.stepUp([ n ])
input.stepDown([ n ])

通过 step 属性中给定的值乘以 n 来更改窗体控件的 n 的默认值为 1。

如果控件既不是基于日期或时间的,也不是数字的,或者如果 step 属性的值为 "any",则抛出 "InvalidStateError" DOMException

input.list

返回 list 属性指示的 datalist 元素。

input.showPicker()

HTMLInputElement/showPicker

所有当前引擎都支持。

Firefox101+Safari16+Chrome99+
Opera?Edge99+
Edge (Legacy)?Internet ExplorerNo
Firefox Android?Safari iOS?Chrome Android?WebView Android?Samsung Internet?Opera Android?

显示 input 的任何适用的选择器 UI,以便用户可以选择一个值。(如果对于给定控件没有实现选择器 UI,则此方法不执行任何操作。)

如果 input可变,则抛出 "InvalidStateError" DOMException

如果在没有 瞬时用户激活 的情况下调用,则抛出 "NotAllowedError" DOMException

如果 input 位于跨域 iframe 内,则抛出 "SecurityError" DOMException,除非 input 处于 文件上传颜色 状态。