ホームページ >ウェブフロントエンド >CSSチュートリアル >HTML5フォーム:入力タイプ(パート1) - SitePoint
HTML5フォーム入力タイプの詳細な説明とベストプラクティス
コアポイント
type="search"
)は、ユーザーに直感的な検索サイトのプロンプトを提供する検索フィールドを提供します。通常、組み込みのクリアボタンが付属しており、ブラウザまたはオペレーティングシステムの検索ボックスに合わせてスタイルを整えることができます。 type="email"
属性をサポートします。タッチパッドデバイスは通常、このフィールドがフォーカスを取得したときに電子メール入力用に最適化されたキーボードを表示し、一部のブラウザも無効な電子メール入力のエラーメッセージを提供します。 multiple
type="url"
(以下は、Alexis Goldstein、Louis Lazaris、Estelle Weylが共著した本「HTML5&CSS3、第2版」から抜粋しています。この本は世界中の店舗で入手できます。ここでは、電子書籍バージョンを購入できます 要素の
属性にすでに精通している可能性があります。このプロパティは、ユーザーに提示されるフォーム入力のタイプを決定します。このプロパティが省略されている場合、または新しい入力タイプおよび古いブラウザの場合、ブラウザがタイプを理解していない場合、入力はデフォルトのままです。これが、古いブラウザをまだサポートしている場合でも、HTML5フォームを今日でも機能させるものです。電子メールや検索などの新しい入力タイプを使用する場合、古いブラウザはユーザーに標準テキストフィールドのみを表示します。
input
登録フォームは現在、慣れ親しんでいる10個の入力タイプのうち4つを使用しています。チェックボックス、テキスト、パスワード、および送信。これは、HTML5の前に入手可能なすべてのタイプのリストです:type
type="text"
チェックボックス
HTML5.1およびWhatWG HTML Living Standardには、4つの追加日付入力タイプが含まれています。
検索(検索)
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
<code class="language-html"><form id="search" method="get"> <label for="s">Search:</label> <input type="search" id="s" name="s"> <input type="submit" value="Search"> </form></code>を使用しましょう。
<code class="language-html"><form id="search" method="get"> <label for="s">Search:</label> <input type="search" id="s" name="s"> <input type="submit" value="Search"> </form></code>
ここで行うように、入力タイプをテキストから電子メールに変更すると、ユーザーインターフェイスに顕著な変更がないことがわかります。ただし、舞台裏では違いがあります。
タッチパッドデバイスを使用している場合、この変更が明らかになります。電子メールフィールドに焦点を当てると、Chromiumを実行しているiPadやAndroidフォンなどのほとんどのタッチパッドデバイスは、図4.6に示すように、 @シンボル、期間、スペースボタン、カンマではなく、電子メール入力用に最適化されたキーボードを表示します。
図4.7オペラ(左)とfirefox(右)の電子メールアドレスの誤ってエラーメッセージ
.setCustomValidity(errorMsg)
残念ながら、メッセージのコンテンツを変更することはできますが、少なくとも当面はその外観によってまだ制限されています。 setCustomValidity
<code class="language-html"><label for="email">My email address is:</label> <input type="email" id="email" name="email"></code>
url入力(
)は、ネットワークアドレスを指定するために使用されます。メールと同じように、それは通常のテキストフィールドとして表示されます。多くのタッチ画面では、表示されている画面上のキーボードがネットワークアドレス入力用に最適化され、フォワードスラッシュ(/)および「.com」ショートカットがあります。登録フォームを更新して、URL入力タイプを使用しましょう。の検証
type="url"
インターネットエクスプローラー10から始まるすべての最新のブラウザーは、URL入力タイプをサポートし、値がプロトコルで始まらない場合、入力は無効であると報告されます。 URLの一般的なプロトコル形式のみを検証するため、たとえば、q://example.xyzは、q://が実際のプロトコルでなくても、有効と見なされます。入力された値をより具体的な形式に適合させる場合は、タグ(またはプレースホルダー)に情報を提供してユーザーに通知し、前述のようにその正確性を確保するために
<code class="language-javascript">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(''); } }</code>
)を使用します。 URLや電子メールの種類とは異なり、電話タイプは特定の構文やパターンを強制しません。文字と数字(実際には、ラインが壊れたり、キャリッジの戻りが戻ったりすることを除くキャラクターが有効です。これには十分な理由があります。世界中で、すべての国にはさまざまな長さと句読点の有効な電話番号があるため、単一の形式を標準として指定することは不可能です。たとえば、米国では、1(415)555-1212は415.555.1212と同じくらい理解しやすいですが、企業は(800)のコールノーなどの電話番号で文字を使用する場合があります。特定のフォーマットを奨励することができます。Placeholderを、入力後に正しい構文またはコメントを含むとともに、例とともに含めることができます。さらに、type="tel"
属性を使用して形式を指定できます。 pattern
属性をpattern
属性に含めて、ツールチップを提供し、ネイティブ検証エラーメッセージのユーザーエクスペリエンスを改善します。また、title
メソッドを使用して、より有益なクライアント検証を提供することもできます。 Tel入力タイプを使用する場合、動的タッチパッドは通常、アスタリスクキーやポンドキーを含む電話キーボードを表示します。電話番号以外の目的でTelを使用できます。たとえば、社会保障番号フォーム入力に最適なキーボードかもしれません。 setCustomValidity
HTML5フォーム入力タイプ(FAQ)
HTML5の「日付」入力タイプはどのように機能しますか?
古いブラウザでHTML5フォーム入力タイプを表示するとどうなりますか?
HTML5フォームでユーザー入力を検証する方法は?
HTML5の「範囲」入力タイプは、ユーザーが特定の範囲内で値を選択できるスライダーを作成します。 「min」および「max」プロパティを使用して範囲を指定し、「値」プロパティを使用してデフォルト値を指定できます。
HTML5の「電子メール」入力タイプは、ユーザーが電子メールアドレスを入力できる便利な方法を提供します。入力されたテキストが電子メールアドレス形式であるかどうかを確認するための組み込みの確認が含まれています。一部のブラウザは、この入力タイプにオートコンプリートを提供する場合があります。
HTML5の「検索」入力タイプは、検索フィールド向けに設計されています。この入力タイプは、ワンクリックで検索ボックスをクリアする、最新の検索結果をユーザーに表示するなど、検索固有の機能を提供できます。
HTML5の「番号」入力タイプにより、ユーザーはデジタル入力を入力できます。 MINおよびMAXプロパティを使用して、許容可能な数値を指定し、「ステップ」プロパティを使用してステップ値を指定できます。
HTML5の「Tel」入力タイプは、電話番号を含む入力フィールドに使用されます。ただし、入力を確認しないため、検証のためにJavaScriptまたは同様の手法を使用する必要があります。
HTML5の「URL」入力タイプは、URLを含む入力フィールドに使用されます。入力されたテキストがURL形式であるかどうかを確認するための組み込みの確認が含まれています。一部のブラウザは、この入力タイプにオートコンプリートを提供する場合があります。
以上がHTML5フォーム:入力タイプ(パート1) - SitePointの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。