質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

2回答

3730閲覧

<input type=email>の場合のios IMEの挙動について

sol_kenta

総合スコア4

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/10/25 03:08

前提

iosのIMEの挙動について質問です。
動作環境
ios:13.1.3(iPhone7)
ブラウザ:chrome

実現したいこと

iosのIMEをフロントエンド側の実装で制御したい。
登録フォーム実装時に<input type="email">を指定した場合、モバイル端末で入力する場合email形式のIME(@や.が付いたもの)になると思います。
ただemail形式のIMEに初期表示されないため、forcusが当たった時にはemail形式のIMEになるように制御したいです。

発生している問題・エラーメッセージ

初期表示されるIMEは端末で前回表示していたIMEが表示される?(憶測です)

該当のソースコード

html

1<input type="email" autocomplete="off"> 2<input type="password" autocomplete="off"> 3<input type="tel" autocomplete="off"> 4

試したこと

html

1<input type="email" autocomplete="off" pattern="^[0-9A-Za-z]+$">

patternで絞れば日本語入力のモードにはならないかと試しましたがダメでした。

補足情報(FW/ツールのバージョンなど)

<input type="password"><input type="tel">の場合それぞれ専用のIME(電話番号のみなど)になるのですが、<input type="email">では制御の方法は無いでしょうか?

補足の補足

gmailでは日本語メールアドレスも可能みたいなので、UX的な観点から見ればIMEの制御はデバイス側の領域でフロントエンド側の実装で制御するべきでは無いのかなあ。
https://gigazine.net/news/20140806-gmail-admit-non-alphabet/

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

パターンだけで言えば最低限「@」と「.」はほしいですね
IMEモードは推奨されないので期待しないほうがいいいでしょう

HTML

1<form> 2<input type="email" autocomplete="off" pattern="[0-9A-Za-z@.]+"> 3</form>

ただし、emailアドレスに使える文字列は他にもありますので
あまりpatternで縛ってしまうのは得策ではありません

投稿2019/10/25 03:31

yambejp

総合スコア114767

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sol_kenta

2019/10/25 08:38

ご回答ありがとうございます。 確かにpatternで縛ってしまうとまずいですね。別の方法探ってみようと思います!
guest

0

inputmode 属性
https://html.spec.whatwg.org/multipage/interaction.html#input-modalities:-the-inputmode-attribute
https://momdo.github.io/html/interaction.html#input-modalities:-the-inputmode-attribute

email ユーザーエージェントは、"@"文字および"."文字のような、電子メールアドレスの入力を補助するためのキーとともに、ユーザーのロケールでテキスト入力が可能な仮想キーボードを表示すべきである。

こちらでは iOS 環境がないので確認してみてください。
あまり期待しないで属性を書いておくのが吉です。

投稿2019/10/25 07:08

x_x

総合スコア13749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sol_kenta

2019/10/25 08:53

ご回答ありがとうございます。 試してみましたがダメでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問