--- title: HTML の autocomplete 属性 slug: Web/HTML/Attributes/autocomplete tags: - Addresses - Attribute - Email addresses - Forms - HTML - Input - Phone Numbers - Reference - Select - Text - Usernames - autocomplete - form - passwords - textarea - パスワード - メールアドレス - ユーザー名 - 住所 - 電話番号 translation_of: Web/HTML/Attributes/autocomplete ---
HTML の autocomplete
属性は、入力値としてテキストまたは数値を取る {{HTMLElement("input")}} 要素、 {{HTMLElement("textarea")}} 要素、 {{HTMLElement("select")}} 要素、 {{HTMLElement("form")}} 要素で利用できます。 autocomplete
を使用すると、ウェブ開発者は入力欄にどの種類の情報が期待されているかをブラウザーに示唆するのと同様に、{{Glossary("user agent", "ユーザーエージェント")}}がフォーム入力欄の値を埋めるための自動支援を提供する必要があることを指定します。
提案値の情報源は、一般にブラウザーに依存します。ふつうは、ユーザーが入力した過去の値からとりますが、あらかじめ構成された値から取得することもあります。例えば、ブラウザーはユーザーに名前、住所、電話番号、メールアドレスを自動補完するために保存させることができます。おそらく、ブラウザーは以降の認証手続で自動補完を行うために、クレジットカード情報を暗号化して保存する機能を提供しているでしょう。
{{HTMLElement("input")}}, {{HTMLElement("select")}}, {{HTMLElement("textarea")}} 要素に autocomplete
属性がない場合、ブラウザーはその要素のフォームオーナー、つまりその要素を子孫に持つ {{HTMLElement("form")}} 要素、または <form>
要素で id
がその要素の {{htmlattrxref("form", "input")}} 属性で指定されているものの autocomplete
属性の値を使用します。
詳しくは、 {{HTMLElement("form")}} 要素の {{htmlattrxref("autocomplete", "form")}} 属性をご覧ください。
自動補完を提供するために、ユーザーエージェントは <input>
/<select>
/<textarea>
要素に次のことを要求することがあります。
name
や id
属性を持つこと<form>
要素の子孫であることoff
"autocomplete
属性を "off
" に設定しても、ブラウザーのパスワードマネージャーがユーザー名やパスワードを保存したいかをユーザーに問い合わせたり、ログインフォームにそれらを自動入力したりすることを抑制できません。 autocomplete 属性とログインフィールドをご覧ください。on
"name
"name
" を使用したほうが推奨されます。しかし、氏名をそれぞれの部分に分割する必要があるのであれば、以下の autocomplete
の値を使用することができます。
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
" は "555"、 "tel-local-suffix
" は "6502" となります。tel-extension
"impp
"url
"photo
"詳しくは WHATWG 仕様書 をご覧ください。
注: Firefox は他のブラウザーとは異なり、 autocomplete
属性で、ページを再読み込みしても <input>
を 動的に無効化した状態や (該当する場合は) 動的に変更したチェック状態を維持するか を制御します。この維持機能は、既定で有効です。 autocomplete
属性の値に off
を設定すると、この機能を無効化できます。またこの設定は、type
属性が通常 autocomplete
を適用しない値である <input>
要素でも有効です。 {{bug(654072)}} をご覧ください。
<div> <label for="cc-number">Enter your credit card number</label> <input name="cc-number" id="cc-number" autocomplete="off"> </div>
行政レベルの4つの欄 (address-level1
~ address-level4
) は、住所が存在する国の中で、詳細さのレベルを高めるためのものです。行政レベルの体系は国によって異なり、住所を表記する際に様々な順序でレベルを並べ替えられることがあります。
address-level1
は常に最も広い行政単位を表します。これは住所のもっとも広い部分であり、国名に近い部分です。
国が異なれば住所の書き方も異なり、住所内でそれぞれの欄の位置も異なっており、フィールドの組み合わせや数も完全に異なることを考慮すると、可能であれば、サイトが住所入力フォームを表示する際に、住所がある国の指定に応じて、ユーザーが期待するレイアウトに切り替えることができると便利です。
それぞれの行政レベルの使用方法は国によって異なります。以下にいくつかの例を示しますが、これは網羅的なリストではありません。
アメリカ国内の一般的な住所は次のようになります。
432 Anywhere St
Exampleville CA 95555
アメリカでは、住所の中で最も大きな括りの部分は州であり、この場合は "CA" (米国郵政公社の公式な略号で "California" の意味) となります。したがって address-level1
は州、この場合は "CA" となります。
住所で2番目に大きな括りの部分は市区町村名なので、 address-level2
はこの例の住所では "Exampleville" となります。
アメリカの住所では、3以上の行政単位は使用されません。
イギリスの住所入力フォームでは、住所のレベルは1つで、住所に応じて1~3行の住所が含まれることがあります。完全な住所は次のようになります。
103 Frogmarch Street
Upper-Wapping
Winchelsea
TN99 8ZZ
住所レベルは次のようになります。
address-level1
: ポストタウン — この場合は "Winchelsea" です。address-line2
: 地区 — この場合は"Upper-Wapping" です。address-line1
: 家屋番号や通りの詳細 — "103 Frogmarch Street"郵便番号は別な行です。イギリスで郵便物をうまく配達するためには、実際には郵便番号と address-line1
だけでよいので、必須項目はこれらのみですが、通常はもっと詳細な情報を提供することが多いので注意してください。
中国では、省、市、区の3つの行政レベルを使用することができます。
日本の住所は一般的に1行で、広域的な部分から詳細な部分の順に (アメリカとは逆順に) 書かれます。住所には2~3の行政レベルが含まれます。建物名や部屋番号を表すために、もう1行が追加されることもあります。例を示します。
〒381-0000
長野県長野市某町123
「〒」と続く7桁の番号は郵便番号です。
address-level1
は都道府県に使用されます。この場合は「長野県」です。 address-level2
は普通、市区町村や郡に使われます。この場合は「長野市」です。「某町123」は address-line1
で、町名と地番からなります。
仕様書 | 状態 | 備考 |
---|---|---|
{{SpecName('HTML WHATWG', "#autofill")}} | {{Spec2('HTML WHATWG')}} |
{{Compat("html.global_attributes.autocomplete")}}