HTML5フォーム:入力タイプ(パート1) - SitePoint
HTML5フォーム入力タイプの詳細な説明とベストプラクティス
コアポイント
- HTML5フォームは、電子メール、検索、日付、時刻、数字、範囲、色などの新しい入力タイプを導入します。これらのタイプは、データ型とより一致するユーザーインターフェイス要素とネイティブデータ検証関数を提供します。古いブラウザでさえ、これらの新しい入力タイプは、デフォルトで標準のテキストフィールドとして表示されることを除いて、適切に機能します。
- 検索入力タイプ(
type="search"
)は、ユーザーに直感的な検索サイトのプロンプトを提供する検索フィールドを提供します。通常、組み込みのクリアボタンが付属しており、ブラウザまたはオペレーティングシステムの検索ボックスに合わせてスタイルを整えることができます。 - 電子メール入力タイプ(
>)は、1つ以上の電子メールアドレスを指定するために使用されます。複数のコンマ区切りの電子メールアドレスのブール type="email"
属性をサポートします。タッチパッドデバイスは通常、このフィールドがフォーカスを取得したときに電子メール入力用に最適化されたキーボードを表示し、一部のブラウザも無効な電子メール入力のエラーメッセージを提供します。multiple
url入力タイプ( - )は、通常のテキストフィールドとして表示される電子メール入力タイプと同様のネットワークアドレスを指定するために使用されますが、タッチスクリーンのネットワークアドレス入力用に最適化されたキーボードを提供します。最新のブラウザは、この入力タイプを使用して、URLの一般的なプロトコル形式を検証します。
type="url"
(以下は、Alexis Goldstein、Louis Lazaris、Estelle Weylが共著した本「HTML5&CSS3、第2版」から抜粋しています。この本は世界中の店舗で入手できます。ここでは、電子書籍バージョンを購入できます 要素の
属性にすでに精通している可能性があります。このプロパティは、ユーザーに提示されるフォーム入力のタイプを決定します。このプロパティが省略されている場合、または新しい入力タイプおよび古いブラウザの場合、ブラウザがタイプを理解していない場合、入力はデフォルトのままです。これが、古いブラウザをまだサポートしている場合でも、HTML5フォームを今日でも機能させるものです。電子メールや検索などの新しい入力タイプを使用する場合、古いブラウザはユーザーに標準テキストフィールドのみを表示します。
input
登録フォームは現在、慣れ親しんでいる10個の入力タイプのうち4つを使用しています。チェックボックス、テキスト、パスワード、および送信。これは、HTML5の前に入手可能なすべてのタイプのリストです:type
type="text"
チェックボックス
- ファイル
- 隠し
- 画像
- パスワード
- ラジオ
- reset
- 送信
- テキスト
- HTML5仕様は、UI要素を提供する9つの新しい入力タイプと、よりデータタイプに準拠したネイティブデータ検証機能を提供します。
- 検索
- メール
- url
- tel
- date
- 時間
- 番号
- 範囲
- color
- 月
- 週
- dateTime(ブラウザはそれをサポートしていません)
HTML5.1およびWhatWG HTML Living Standardには、4つの追加日付入力タイプが含まれています。
- dateTime-local
検索(検索)
検索入力タイプ(
type="search"
ブラウザまたはオペレーティングシステムの検索ボックスとして、多くのブラウザスタイルの検索入力を一貫した方法でスタイルします。現在、図4.5に示すように、Chrome、Safari、Opera、およびIEは、マウスをクリックしてテキストを入力した後に×アイコンを提供することにより、入力をクリアする機能を追加しています。日付/時刻の入力タイプは、ChromeとOperaでクリアできます。これは、タイプテキストを含む入力を含むほとんどの入力タイプをクリアする×アイコンも含まれています。
図4.5は、検索入力タイプのスタイルがオペレーティングシステムの検索フィールドに似ています。
Appleデバイスでは、Chrome、Safari、およびOperaの検索フィールドは、デフォルトでコーナーを丸みを帯びており、デバイスの検索フィールドの外観に一致しています。ダイナミックキーボードを備えたタッチパッドでは、デバイスに応じて「GO」ボタンが検索アイコンまたは「検索」という単語として表示されます。標準以外のプロパティを含めると、ChromeとOperaが拡大ガラス/Findアイコンをフォームフィールドに表示します。
検索フィールドはありませんが、使用方法の例を次に示します。
results
type="text"
メールアドレス(電子メールアドレス)HTML5 Herald
<form id="search" method="get"> <label for="s">Search:</label> <input type="search" id="s" name="s"/> <input type="submit" value="Search"/> </form>
<form id="search" method="get"> <label for="s">Search:</label> <input type="search" id="s" name="s"/> <input type="submit" value="Search"/> </form>
ここで行うように、入力タイプをテキストから電子メールに変更すると、ユーザーインターフェイスに顕著な変更がないことがわかります。ただし、舞台裏では違いがあります。
タッチパッドデバイスを使用している場合、この変更が明らかになります。電子メールフィールドに焦点を当てると、Chromiumを実行しているiPadやAndroidフォンなどのほとんどのタッチパッドデバイスは、図4.6に示すように、 @シンボル、期間、スペースボタン、カンマではなく、電子メール入力用に最適化されたキーボードを表示します。
図4.7オペラ(左)とfirefox(右)の電子メールアドレスの誤ってエラーメッセージ
.setCustomValidity(errorMsg)
残念ながら、メッセージのコンテンツを変更することはできますが、少なくとも当面はその外観によってまだ制限されています。 setCustomValidity
<label for="email">My email address is:</label> <input type="email" id="email" name="email"/>
url入力(
)は、ネットワークアドレスを指定するために使用されます。メールと同じように、それは通常のテキストフィールドとして表示されます。多くのタッチ画面では、表示されている画面上のキーボードがネットワークアドレス入力用に最適化され、フォワードスラッシュ(/)および「.com」ショートカットがあります。登録フォームを更新して、URL入力タイプを使用しましょう。url
の検証
type="url"
インターネットエクスプローラー10から始まるすべての最新のブラウザーは、URL入力タイプをサポートし、値がプロトコルで始まらない場合、入力は無効であると報告されます。 URLの一般的なプロトコル形式のみを検証するため、たとえば、q://example.xyzは、q://が実際のプロトコルでなくても、有効と見なされます。入力された値をより具体的な形式に適合させる場合は、タグ(またはプレースホルダー)に情報を提供してユーザーに通知し、前述のようにその正確性を確保するために
function setErrorMessages(formControl) { var validityState_object = formControl.validity; if (validityState_object.valueMissing) { formControl.setCustomValidity('Please set an age (required)'); } else if (validityState_object.rangeUnderflow) { formControl.setCustomValidity('You\'re too young'); } else if (validityState_object.rangeOverflow) { formControl.setCustomValidity('You\'re too old'); } else if (validityState_object.stepMismatch) { formControl.setCustomValidity('Counting half birthdays?'); } else { //如果有效,必须设置虚假值,否则将始终出错 formControl.setCustomValidity(''); } }
電話番号(電話番号)
電話番号の場合は、電話番号を使用して、Tel入力タイプ()を使用します。 URLや電子メールの種類とは異なり、電話タイプは特定の構文やパターンを強制しません。文字と数字(実際には、ラインが壊れたり、キャリッジの戻りが戻ったりすることを除くキャラクターが有効です。これには十分な理由があります。世界中で、すべての国にはさまざまな長さと句読点の有効な電話番号があるため、単一の形式を標準として指定することは不可能です。たとえば、米国では、1(415)555-1212は415.555.1212と同じくらい理解しやすいですが、企業は(800)のコールノーなどの電話番号で文字を使用する場合があります。特定のフォーマットを奨励することができます。Placeholderを、入力後に正しい構文またはコメントを含むとともに、例とともに含めることができます。さらに、type="tel"
属性を使用して形式を指定できます。 pattern
属性をpattern
属性に含めて、ツールチップを提供し、ネイティブ検証エラーメッセージのユーザーエクスペリエンスを改善します。また、title
メソッドを使用して、より有益なクライアント検証を提供することもできます。 Tel入力タイプを使用する場合、動的タッチパッドは通常、アスタリスクキーやポンドキーを含む電話キーボードを表示します。電話番号以外の目的でTelを使用できます。たとえば、社会保障番号フォーム入力に最適なキーボードかもしれません。 setCustomValidity
HTML5フォーム入力タイプ(FAQ)
HTML5フォームの入力タイプのさまざまな種類は何ですか?
HTML5は、さまざまな新しいフォーム入力タイプを導入します。これらには、「色」、「日付」、「DateTime-Local」、「電子メール」、「月」、「番号」、「範囲」、「検索」、「Tel」、「TIME」、「URL」、「URL」が含まれます。 」。各入力タイプには特定の目的があり、より適切でユーザーフレンドリーな入力フィールドを提供することにより、ウェブサイトのユーザーエクスペリエンスを大幅に向上させることができます。
HTML5の「日付」入力タイプはどのように機能しますか?
HTML5の「日付」入力タイプは、ユーザーが日付を入力できるようにする入力フィールドを作成します。日付形式は、ユーザーのブラウザロケールに従ってフォーマットされ、通常、ユーザーの利便性のために日付セレクターが提供されます。ただし、この入力タイプのサポートはブラウザごとに異なります。
古いブラウザでHTML5フォーム入力タイプを表示するとどうなりますか?
サポートしていない古いブラウザでHTML5フォーム入力タイプを表示すると、ブラウザはデフォルトで標準の「テキスト」入力フィールドになります。これは、ユーザーが情報を入力できることを意味しますが、HTML5入力タイプ(「日付」入力タイプの日付セレクターなど)の特定の機能は利用できません。
HTML5フォームでユーザー入力を検証する方法は?
HTML5は、数値入力タイプの「必須」、「パターン」、「min」/「max」など、入力検証に複数の属性を提供します。これらのプロパティを使用して、フォームが送信される前にユーザー入力が特定の基準を満たすことを保証できます。
HTML5の「範囲」入力タイプは何ですか?
HTML5の「範囲」入力タイプは、ユーザーが特定の範囲内で値を選択できるスライダーを作成します。 「min」および「max」プロパティを使用して範囲を指定し、「値」プロパティを使用してデフォルト値を指定できます。
HTML5の「電子メール」入力タイプは、ユーザーエクスペリエンスをどのように強化しますか?
HTML5の「電子メール」入力タイプは、ユーザーが電子メールアドレスを入力できる便利な方法を提供します。入力されたテキストが電子メールアドレス形式であるかどうかを確認するための組み込みの確認が含まれています。一部のブラウザは、この入力タイプにオートコンプリートを提供する場合があります。
HTML5の「検索」入力タイプの目的は何ですか?
HTML5の「検索」入力タイプは、検索フィールド向けに設計されています。この入力タイプは、ワンクリックで検索ボックスをクリアする、最新の検索結果をユーザーに表示するなど、検索固有の機能を提供できます。
HTML5で「番号」入力タイプを使用する方法は?
HTML5の「番号」入力タイプにより、ユーザーはデジタル入力を入力できます。 MINおよびMAXプロパティを使用して、許容可能な数値を指定し、「ステップ」プロパティを使用してステップ値を指定できます。
HTML5の「Tel」入力タイプは何ですか?
HTML5の「Tel」入力タイプは、電話番号を含む入力フィールドに使用されます。ただし、入力を確認しないため、検証のためにJavaScriptまたは同様の手法を使用する必要があります。
HTML5の「URL」入力タイプはどのように機能しますか?
HTML5の「URL」入力タイプは、URLを含む入力フィールドに使用されます。入力されたテキストがURL形式であるかどうかを確認するための組み込みの確認が含まれています。一部のブラウザは、この入力タイプにオートコンプリートを提供する場合があります。
以上がHTML5フォーム:入力タイプ(パート1) - SitePointの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Google Fontsが新しいデザイン(ツイート)を展開したようです。最後の大きな再設計と比較して、これははるかに反復的です。違いをほとんど伝えることができません

プロジェクトにカウントダウンタイマーが必要だったことはありますか?そのようなことのために、プラグインに手を伸ばすのは自然なことかもしれませんが、実際にはもっとたくさんあります

新しいプロジェクトの開始時に、SASSコンピレーションは瞬く間に起こります。これは、特にbrowsersyncとペアになっている場合は素晴らしい気分です。

タータンは、スコットランド、特にファッショナブルなキルトに通常関連する模様のある布です。 Tartanify.comでは、5,000を超えるTartanを集めました

インラインテンプレートディレクティブにより、既存のWordPressマークアップに対する進行性の強化として、リッチVUEコンポーネントを構築できます。

PHPテンプレートは、多くの場合、サブパーコードを促進するために悪いラップを取得しますが、そうである必要はありません。 PHPプロジェクトが基本を実施する方法を見てみましょう
