5161

26 分钟

#HTML 的 <input> 标签

HTML <input> 元素用于为基于 Web 的表单创建交互式控件,以便接受来自用户的数据。取决于设备和用户代理不同,表单可以使用各种类型的输入数据和控件。<input> 元素是目前 HTML 中最强大、最复杂的元素之一,因为它有大量的输入类型和属性组合。

#属性

  • accept: 仅对 file 输入类型有效。accept 属性定义了 file 上传控件可选择文件类型的列表。参见 file 输入类型以了解更多信息。
  • alt: 仅对 image 类型有效。alt 属性提供了图片的替代文字,在图片的 src 属性缺失或对应资源加载失败时,会显示该属性的值。参见 image 输入类型以了解更多信息。
  • autocomplete: (不是一个布尔属性!)autocomplete 属性将一个空格分隔的字符串作为其值,描述输入应该提供什么类型的自动完成功能。一个典型的自动完成的实现是回忆以前在同一输入字段中输入的值,但也可能存在更复杂的自动完成形式。例如,浏览器可以与设备的联系人列表集成,在电子邮件输入栏中自动完成 email 地址。请参阅 autocomplete 以了解允许的值。
  • autofocus: 一个布尔属性,如果存在,表示当页面加载完毕(或包含该元素的 <dialog> 显示完毕)时,该 input 元素应该自动拥有焦点。
  • capture: 在 HTML 媒体捕获规范中引入,仅对 file 输入类型有效,capture 属性定义了应该使用哪种媒体(如麦克风、视频或相机)来捕获一个新文件,以便在支持场景中用 file 上传控件上传。参见 file 输入类型。
  • checked: 布尔属性,对于 radio 和 checkbox 类型有效。如果在 radio 类型上出现,代表该单选按钮是当前同名称组中所选定的那一个。如果在 checkbox 类型上出现,代表页面加载时,默认选择该复选框,这并不代表复选框当前是否选择:如果复选框状态改变,该内容属性不会反馈这种改变,只会更新 HTMLInputElement 的 checked IDL 属性。
  • dirname: 仅对 text 和 search 输入类型有效。dirname 属性允许提交元素的方向。当包含这个属性时,表单控件将提交两个名称/值对:第一个是 name 和 value,第二个是 dirname 作为名称,其值为浏览器设置的 ltr 或 rtl。
  • disabled: 一个布尔属性,如果存在的话,表示用户不应该与该输入进行交互。禁用的输入通常以较暗的颜色呈现,或使用一些其他形式的指示,表明该字段不能使用。
  • form: 一个字符串,指定该输入与之相关的 <form> 元素(即其表单所有者)。如果存在该属性,该字符串的值必须与相同文档中的 <form> 元素的 id 相同。如果没有指定该属性,该 <input> 元素与最近包含它的表单相关。
  • formaction: 仅对 image 和 submit 输入类型有效。参见 submit 输入类型介绍以获得更多信息。
  • formenctype: 仅对 image 和 submit 输入类型有效。参见 submit 输入类型介绍以获得更多信息。
  • formmethod: 仅对 image 和 submit 输入类型有效。参见 submit 输入类型介绍以获得更多信息。
  • formnovalidate: 仅对 image 和 submit 输入类型有效。参见 submit 输入类型介绍以获得更多信息。
  • formtarget: 仅对 image 和 submit 输入类型有效。参见 submit 输入类型介绍以获得更多信息。
  • height: 仅对 image 输入按钮有效。height 是要显示代表图形提交按钮的图片的高度。参见 image。
  • id: 全局属性对所有元素有效,包括所有的输入类型,它定义了一个唯一的标识符(ID),在整个文档中必须是唯一的。其目的是为了在链接时识别该元素。该值被用作 <label> 的 for 属性的值,以便将标签与表单控件连接起来。参见 <label>
  • inputmode: 对所有元素都有效的全局值,它为浏览器提供了一个提示,说明在编辑这个元素或其内容时要使用的虚拟键盘配置类型。值包括 none、text、tel、url、email、numeric、decimal 和 search。
  • list: 给予 list 属性的值应该是位于同一文档中的 <datalist> 元素的 {domxref("Element.id", "id")}}。<datalist> 提供了一个预定义值的列表,向用户建议这个输入。列表中任何与type不兼容的值都不包括在建议的选项中。所提供的值是建议,不是要求:用户可以从这个预定义的列表中选择,或者提供不同的值。
  • max: 对 date、month、week、time、datetime-local、number 和 range 输入类型有效,定义了允许值范围内的最大值。如果输入到元素中的 value 超过此值,则该元素将无法通过约束验证。如果 max 属性的值不是数字,则元素没有最大值。
  • maxlength: 对 text、search、url、tel、email 和 password 类型有效。它定义了用户可以输入到该字段中的最大字符数(以 UTF-16 码点为单位)。必须为大于等于 0 的整数。如果未指定 maxlength 或指定了无效的值,则该字段将没有最大值。这个值也必须大于等于 minlength 的值。
  • min: 对 date、month、week、time、datetime-local、number 和 range 输入类型有效,定义了允许值范围内的最小值。如果输入到元素的 value 小于此值,则该元素将无法通过约束验证。如果 min 指定的值不是数字,则输入没有最小值。
  • minlength: 对 text、search、url、tel、email 和 password 类型有效。它定义了用户可以输入到该字段中的最小字符数(以 UTF-16 码点为单位)。该值必须是小于等于 maxlength 指定的值的非负整数值。如果未指定 minlength 或指定了无效的值,则该字段将没有最小值。
  • multiple: 如果设置了布尔值 multiple 属性,意味着用户可以在电子邮件部件中输入逗号分隔的电子邮件地址,或者可以通过 file 输入选择多个文件。参见 email 和 file 输入类型。
  • name: 一个指定输入控件名称的字符串。当表单数据被提交时,这个名字会和控件的值一起提交。
    • _charset_ :如果被用作 hidden 类型的 <input> 元素的名称,该输入的 value 会被用户代理自动设置为提交表单时使用的字符编码。
    • isindex :由于历史原因,不允许使用 isindex 这个名字。
  • pattern: 对 text、search、url、tel、email 和 password 类型有效。为了使 value 通过约束验证,必须满足 pattern 属性给定的正则表达式。它必须是 RegExp 类型的有效 JavaScript 正则表达式,并且已在我们的正则表达式指南中进行了说明;在编译正则表达式时指定了 'u' 标志,因此该模式被视为 Unicode 代码点的序列,而不是 ASCII。模式文本周围无需指定正斜杠。
  • placeholder: 对 text、search、url、tel、email、password 和 number 有效。placeholder 属性可向用户提供有关该字段中需要什么样的信息的简短提示。它应该是一个单词或短语来说明预期的数据类型,而不是说明性消息。文本中不得包含回车符或换行符。例如,某个字段需要收集用户的姓氏,其标签为“First Name”,一个适合的占位文字可能是“如 Mustafa”。
  • readonly: 一个布尔属性,如果存在,则表示该字段不能由用户编辑。readonly 属性支持 text、search、url、tel、email、date、month、week、time、datetime-local、number 和 password 输入类型。
  • required: required 是一个布尔属性,如果存在,则表示用户必须在提交表单之前指定一个非空值。required 属性支持 text、search、url、tel、email、date、month、week、time、datetime-local、number、password、checkbox、radio 和 file 输入类型。
  • size: 对 email、password、tel、url 和 text 有效。size 属性指示显示输入控件的多少。基本上创建了与设置 CSS width属性相同的结果,但有一些特殊性,值的具体单位取决于输入类型。对于 password 和 text,它是字符数量(或 em 单位大小),默认值是 20。对于其他情况,是像素值(或 px 单位大小)。CSS width 的优先级会高于 size 属性。
  • src: 仅对 image 输入按钮有效。指定将要在提交按钮上显示的图像的 URL。参见 image 输入类型。
  • step: 对 date、month、week、time、datetime-local、number 和 range 输入类型有效。step 属性指定了值必须满足的粒度。
    • step 对于类型为 number 和 range 的默认值为 1。
    • step 每一种日期/事件输入类型有一个适合的默认 值,请查阅相关的页面以获取:date、datetime-local、month、time 和 week。
  • tabindex: 对所有元素有效的全局属性,包括所有的输入类型,是一个整数属性,表示该元素如果参与顺序键盘导航,是否可以接受输入焦点(可聚焦)。由于除了隐藏类型的输入外,所有的输入类型都是可聚焦的,这个属性不应该用在表单控件上,因为这样做需要管理文档中所有元素的聚焦顺序,如果设置错误,就有可能损害可用性和无障碍性。
  • title: 对所有元素有效的全局属性,包括所有的输入类型,包含一个代表与它所属的元素相关的咨询信息的文本。这样的信息通常以工具提示的形式呈现给用户(但不必要)。标题不应作为表单控件用途的主要解释。相反,可以使用 <label> 元素,其 for 属性设置为表单控件的 id 属性。参见下面的标签。
  • type: 一个字符串,指定要渲染的控件的类型。例如,要创建一个复选框,使用 checkbox 的值。如果省略(或指定一个未知值),则使用输入类型 text,创建一个纯文本输入字段。
  • value: 输入控件的值。当在 HTML 中指定时,这是初始值。从那时起,它可以在任何时候用 JavaScript 访问相应的 HTMLInputElement 对象的 value 属性,用于改变或检索。value 属性总是可选的,不过对于 checkbox、radio 和 hidden 来说,应该被认为是必须的。
  • width: 仅对 image 输入按钮有效。width 是呈现在图片提交按钮上的图片宽度。参见 image 输入类型。

创建于 2025/5/22

更新于 2025/5/23