1

ユーザーがそうすることに決めた場合に電子メールアドレスを入力することを目的とした単純なフォームがあります<input>。つまり、フィールドは必須ではありません。また、このtype="email"属性はオートコンプリートに役立つだけでなく、スマートフォン ユーザーに特にメリットがあるため、この属性を使用しています。これにより、電子メールの入力を容易にするためにキーボードが再配置されます。

ただし、高度なモバイル デバイスを使用していないユーザーは、@記号を入力するのが難しい場合があります。また、それを入力できないデスクトップ ユーザーもまだ存在します。個人的に知っている人もいますし、もっとたくさんいると思います。これらのユーザーのために、 の初期値を に設定し<input>ました@。これはプレースホルダーではないことを強調しておきます。

しかし今、この2つのことが衝突しています。によってアクティブ化されたブラウザーのネイティブ フォーム検証メカニズムtype="email"は、フィールドが必須ではないことと、ユーザーが値として を送信してもかまわないことを理解していないため、フォームの送信を防止するようになり@ました。

値が空の文字列でない場合にのみフィールドを検証するようにブラウザに指示する方法はありますか? @明らかに、javascript を使用して独自のバリデーターを作成するのは非常に簡単ですが、私はそれに頼りたくありません。

@または、ユーザーが記号を入力できないという私の前提は誤りであり<input>、最初に空のままにしておくだけでこの問題を解決できますか? この件に関する研究はありますか?さまざまな技術フォーラムで絶望的なユーザーによる比較的最近の苦情を今でも時折目にしますが、同様の経験の浅いユーザーの大多数はオンラインで質問しないと思います。

それとも古き良きものを使うべきtype="text"ですか?

私はこれにどのようにアプローチすべきだと思いますか?

前もって感謝します!

4

1 に答える 1