強制的に IME モードを disabled にする方法(コロンブス的発想)

Webアプリを作っていると、たまにtextエリアのimeモードを強制的にON/OFFしたい事があります。

対象ブラウザが IE であれば、css の ime-mode を使うことで制御可能です。
これは、巷にあふれる使い方を見て頂ければ。

ところで、現在バーコードリーダを使ったWebアプリを作成しているのですが、タブレットの使用も検討しているのでIEのime-modeを使うことが出来ません。

どうにかしないと、バーコードの入力エリアに全角数値が羅列してしまい、具合の悪いことになってしまいます。

しかし、JavaScriptを使おうが、何を使おうが制御出来ないらしいです。
これは、ブラウザやシステムに大きく依存する事があるため、実装が難しいという事実があったり、ユーザが思ってもいない動作をすることが喜ばれないからであると、書かれている記事もあります。

そこで、色々考えました。

今回は、バーコードを入力するエリアが限られております(というか、そういう作りにしました)。
バーコードの入力が完了したあとで、そこからデータを引っ張り出し、他のtextエリアにセットしています。
というのも、2次元バーコード(QRコード)も読み取り対象となっているためです。

つまり、バーコード入力エリアは、見えていようが見えていまいが、データが正しく半角英数で入力出来れば事が足ります。

そこで、気が付きました。

バーコードエリアをtype=”password”にすれば良いのではないかと・・・・

非常に限られた用途ではありますが、これで間違いなくバーコードを入力できるエリアが出来ました。

コロンブス的発想ではありますが、これは、非常に有効です。

あとは、体裁を上手に整えれば、遜色ないWebアプリが出来上がるでしょう。
めでたしめでたしです(笑)


Comments are closed.