フォーム入力時に、一度入力したユーザー名やパスワード、電話番号などを記憶して、次の入力時に自動で補完してくれる機能が『autocomplete』です。
自動補完機能」などとも呼ばれますね。

今日はその『autocomplete』で指定できる値を紹介します。

自動補完機能autocomplete属性を指定できる要素

autocomplete属性は、type属性に以下の値が指定されている <input> <textarea> <select> 要素に使用できます。

  • type=”hidden”
  • type=”text”
  • type=”search”
  • type=”url”
  • type=”tel”
  • type=”email”
  • type=”password”
  • type=”date”
  • type=”month”
  • type=”week”
  • type=”time”
  • type=”datetime-local”
  • type=”number”
  • type=”range”
  • type=”color”

type属性の値が「hidden」以外のときは、autocomplete属性はユーザーによる入力が予想される情報の種類を示し、ブラウザはautocomplete属性の値を参考にして入力候補を表示します。

autocomplete="on" と指定している場合は、単純に自動補完機能を使って良いということを示し、どのような入力候補を表示するかはtype属性の値などからブラウザが判断します。

autocompleteの設定方法

<input type="email" name="email" autocomplete="email">

上記のコード内「autocomplete=”email”」のemailの部分で入力内容に合わせたautocomplete属性の値を記述します。

以下にautocomplete属性で指定できる値をすべて紹介します。

autocomplete属性の値

名前name名前
honorific-prefix接頭辞や敬称、肩書など(「Mr.」「Ms.」「Dr.」など)
given-name名(ファーストネーム)
additional-name ミドルネーム
family-name苗字(ラストネーム)
honorific-prefix名前の後ろの敬称など(「様」「Ⅱ」「Jr」など)
nicknameニックネーム
usernameユーザーネーム
メールアドレスemailメールアドレス
パスワードnew-password新しいパスワード
current-password現在のパスワード
one-time-codeユーザー自身を確認するために使われるワンタイムコード
組織organization企業・団体・組織名
organization-title組織内での肩書、役職(「社長」「CEO」など)
住所country国コード
country-name国名
postal-code郵便番号
address-level1都道府県名(合衆国では州、スイスではカートン、イギリスではポストタウンになる)
address-level2市区町村名
address-level3address-level2の後ろにつく町名
address-level4address-level3の後ろにつく住所
street-address住所の番地など
address-line1住所の番地などを3つに分割したもの。これらは “street-address” が存在しない場合のみ設定可能。
address-line2
address-line3
クレジットカード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クレジットカードの種類(Visa, JCB, Master Card など)
決済transaction-currency支払い通貨
transaction-amount支払額
language言語
生年月日bday生年月日
bday-day生年月日の日の部分
bday-month生年月日の月の部分
bd-year生年月日の年の部分
sex性別
電話番号tel電話番号
tel-country-code電話番号の国コード
tel-national国番号を含まない電話番号
tel-area-code市外局番
tel-local国番号や市外局番を含まない電話番号
tel-extension内線番号
imppIMPP(Instant Message and Presence Protocol・インスタントメッセージプロトコル)のURL
urlウェブサイトなどのURL
photo画像の URL

以上。
なお提案値の情報源はブラウザに依存します。ブラウザによって自動補完する情報が異なったり、同時にname属性を記述しないとオートコンプリートが機能しないなどの制限もあるので注意が必要です。