--- title: The HTML 自动完成属性 slug: Web/HTML/Attributes/自动完成属性 tags: - HTML - 参考 - 地址 - 密码 - 属性 - 用户名 - 电话号码 - 自动完成 - 邮件地址 translation_of: Web/HTML/Attributes/autocomplete ---
HTML autocomplete
属性可用于以文本或数字值作为输入的 {{HTMLElement("input")}} 元素 , {{HTMLElement("textarea")}} 元素, {{HTMLElement("select")}} 元素, 和{{HTMLElement("form")}} 元素。 autocomplete
允许web开发人员指定,如果有任何权限 {{Glossary("user agent")}} 必须提供填写表单字段值的自动帮助,并为浏览器提供关于字段中所期望的信息类型的指导。
建议值的来源通常取决于浏览器。 通常,值来自用户输入的过去值,但它们也可能来自预先配置的值。 例如,浏览器可能允许用户保存其姓名,地址,电话号码和电子邮件地址,以实现自动完成目的。 也许浏览器提供了保存加密的信用卡信息的功能,以便在身份验证过程后自动完成。
如果 {{HTMLElement("input")}}, {{HTMLElement("select")}} 或{{HTMLElement("textarea")}} 元素 没有 autocomplete
属性, t则该浏览器将使用该元素的表单的 autocomplete
属性所有者,它们可是元素的后代 {{HTMLElement("form")}} 元素 也可以是其 id
由元素{{htmlattrxref("form", "input")}} 属性指定的 <form>
。
有关更多信息,请参见 {{HTMLElement("form")}} 中的{{htmlattrxref("autocomplete", "form")}} 属性。
为了提供自动完成功能,用户代理可能需要<input>
/<select>
/<textarea>
元素才能:
name
和/或 id
属性<form>
的后代off
"autocomplete
设置为 "off
" 不会阻止密码管理器询问用户是否要保存用户名和密码信息,或者自动在网站的登录表单中填写这些值。 请参阅 the autocomplete attribute and login fields.on
"name
"honorific-prefix
"given-name
"additional-name
"family-name
"honorific-suffix
"nickname
"email
"username
"new-password
"current-password
"one-time-code
"organization-title
"organization
"street-address
"address-line1
", "address-line2
", "address-line3"
street-address
" 的情况下,才应提供这些内容。.address-level4
"address-level3
"address-level2
"address-level1
"country
"country-name
"postal-code
"cc-name
"cc-given-name
"cc-additional-name
"cc-family-name
"cc-number
"cc-exp
"cc-exp-month
"cc-exp-year
"cc-csc
"cc-type
"transaction-currency
"transaction-amount
"transaction-currency
" 指定的货币表示的金额,用于支付形式。language
"bday
"bday-day
"bday-month
"bday-year
"sex
"tel
"完整的电话号码,包括国家/地区代码。 如果您需要将电话号码分为几个部分,则可以将以下值用于这些字段:
tel-country-code
"tel-national
"tel-area-code
"tel-local
"tel-local-prefix
" ,对于"6502"使用 "tel-local-suffix
" 。tel-extension
"impp
"url
"photo
"有关更多详细信息,请参见 WHATWG 标准。
注意: 与其他浏览器不同, autocomplete
属性还控制Firefox是否会跨页面加载保持— 是否在整个页面加载期间保持 <input>
元素, <textarea>
元素, 或整个 <form>
的动态禁用状态和(如果适用)动态检查状态。 持久性功能默认情况下处于启用状态。 将 autocomplete
属性的值设置为off
将禁用此功能。即使autocomplete
属性通常由于其type
而不适用,也可以这样做。 参考 {{bug(654072)}}.
<div> <label for="cc-number">Enter your credit card number</label> <input type="number" name="cc-number" id="cc-number" autocomplete="off"> </div>
四个行政级别字段 (address-level1
到 address-level4
) 以提高地址所在国家内的精确度的方式描述地址。每个国家都有自己的行政级别系统,在写地址时可以按不同的顺序排列。
address-level1
始终代表最广泛的行政区划;它是地址中除国家名之外最不特定的部分。
鉴于不同的国家/地区以不同的方式写出地址,每个字段都位于地址内的不同位置,甚至完全是不同的字段集和数量,因此,如果可能的话,您的站点能够切换到预期的布局会很有帮助 由您的用户在提供地址输入表格时给出,并给出地址所在的国家/地区。
每个行政级别的使用方式因国家/地区而异。 以下是一些示例; 这并不是详尽的清单。
美国境内的典型家庭住址如下所示:
大街432号
Exampleville CA 95555
在美国,地址中最不明确的部分是州,在这种情况下为“ CA”(美国邮政服务的正式缩写为“ California”)。 因此,address-level1
是状态,在这种情况下为“ CA”。
地址的倒数第二个特定部分是城市或城镇名称,因此在此示例地址中, address-level2
为“ Exampleville”。
美国地址不使用3级及更高级别。
在英国,地址输入表单通常包含两个地址级别以及一个,两个或三个地址行,具体取决于地址。 完整的地址如下所示:
Frogmarch街103号
上层包装
苏塞克斯
TN99 8ZZ
地址级别为:
address-level1
: 在这种情况下,该县为“苏塞克斯”。address-level2
: 在这种情况下,城镇为“上层包装”。.address-line1
: 房屋/街道详情-“ Frogmarch 街道103号”邮政编码是分开的。 请注意,您实际上可以仅使用邮政编码和 address-line1
在英国成功发送邮件, 因此它们应该是唯一的必填项,但通常人们会提供更多详细信息。
中国可以使用多达三个行政级别:省,市和区。
规格 | 状态 | 评论 |
---|---|---|
{{SpecName('HTML5.2', "sec-forms.html#autofilling-form-controls-the-autocomplete-attribute", "autocomplete")}} | {{Spec2('HTML5.2')}} | |
{{SpecName('HTML WHATWG', "form-control-infrastructure.html#autofilling-form-controls:-the-autocomplete-attribute", "autocomplete")}} | {{Spec2('HTML WHATWG')}} |
{{Compat("html.global_attributes.autocomplete")}}