スマホでinputタグの入力を数字入力モードにする

ホームページ制作で入力フォームは、お問い合わせフォーム、管理画面などでよく使用します。
その際にふと思うことがあります。

入力モードが自動で切り替わったらいいのに。

例えば名前を入力するときは、全角で入力します。
次に電話番号欄があったりすると、半角で入力したいのに全角のままになります。

パソコンであれば、さほど気にはなりませんが、スマホだと思いのほか入力モードの切り替えは手間です。
というわけで、今回は入力フォームのスマホでの入力モード切り替えについて調べてみました。

type=textだと入力モードは何も変わらない

特に何も考えずに入力フォームを設置する場合、type=textで設置します。
最も汎用性が高いためです。

ですが、type=textだと日本語モードにしたらずっと日本語、半角にしたらずっと半角と、自動で入力モードは切り替わりません。

入力モードを切り替えるにはinputmodeを指定する。

inputモードの入力モードを自動で切り替える方法は2つあります。

  • type=telなどtypeを適時指定する
  • inputmode=numericなどinputmodeを指定する

最近のスマホは、inputのtypeやinputmodeを読み取って、適切な入力モードにしてくれます。
昔ならば、スクリプトを駆使したりなど四苦八苦でしたが、最近はスマホのほうが賢くなり、htmlを読み取って自動で切り替わってくれます。

これを踏まえて、いろんな設定で入力モードが切り替わるか検証してみました。

スマホでの入力モード自動切り替えを検証してみました

typeやinputmodeをいろいろ設定してスマホで入力モードが自動で切り替わるか検証してみました。

検証方法配下の通りです。

  • 入力欄にフォーカスしたときに入力モードが切り替わるかどうか
  • スマホ側であえて別の入力モードに変更しフォーカスを外し、再びフォーカスしたときに入力モードが切り替わるかどうか

ただし使っている機種により動作が異なることも考えられるため、あくまでも一例としてとらえていただければ幸いです。

ただ少なくとも、検証に使ったスマホで動作しない場合、100%の動作するとは言えません。

検証1: type=numberの場合

type=numberを指定して検証してみたところ、次のようになりました。

androidだと数字入力モードになりました。
iphoneも数字用になりましたが、ちょっとフォーマットがandroidと異なっていました。

検証2:inputmode=numericの場合

今度はinputmodeをnumericにしてみました。

android側は、type=numberと同じ表示でした。
iphone側は、入力モードがtype=numberの場合と若干違うものになりました。

検証3:type=telの場合

今度は電話番号専用モードで試してみました。
検証してみると以下のようになりました。

どちらも電話番号入力モードになりました。
特徴として、#や*など電話入力に必要な記号が入力できるようになっています。

検証4:type=emailの場合

これまで数字専門の入力モード自動切り替えは問題ありませんでした。
自動で切り替わってくれます。

今度はemailで試してみました。
半角英数字が入力モードに切り替わればOKです。

試してみたところ、androidは半角英数字入力モードに切り替わりました。
iphoneは切り替わりませんでした。

ただ少々古いiphoneのため、新しいiphoneでは切り替わるかもしれません。

検証5:type=text inmputmode=textの場合

最後に試したのがtextモードです。
要は全角日本語入力です。
これができればかなり使いやすくなるのですが、検証したところ次のようになりました。

どちらもうまく全角に切り替わりませんでした。
正確には、androidは、type=telや、inputmode=numericなど強制的に数字に代わるフォームにフォーカスを当てた後、type=textのフォームにフォーカスをあてると、日本語入力に自動で変わりました。
ですが、それ以外のフォームにフォーカスをあてたあとだと、日本語入力に切り替わりませんでした。

どうやら日本語入力に関しては、簡単ではないようです。

入力モードを気にすると使いやすさが向上します

今回検証した内容は、あくまでもスマホでの話です。
PCだと一切、入力モードは自動では切り替わりませんでした。

たかだか全角半角切り替えかと思いますが、スマホだとちょっと手間なんです。
PCのようなキーボードがないことがそもそもの要因ですが、外部デバイスがないからこそ手軽に持ち運べるとも言えます。

どっちもどっちなのです。

ですが、スマホで少しでも入力のわずらわしさが減れば、使いやすさが向上します。
そういったことも考えることも大事だったりします。

今回のレポートは以上です。
読んでいただいてありがとうございました。


ホームページに関するお悩み事やご相談事がございましたら私どもまでご連絡ください。 鋭意ご対応申し上げます。
ホームページのご提案もさせていただいております