WEBページ作成リファレンス
cman.jp cman.jp > WEBページ作成TOP > javascriptサンプル > <imemode>「IME制御(日本語入力状態検知)」

日本語入力(ime)制御

日本語入力(ime)の制御は、ime-modeの指定で可能です。
ただし、Internet Explorer独自の仕様のため、Chrome、safariなどは対応していません。
ime-modeに対応していないブラウザ用に、日本語入力の状態を検知し、メッセージを表示します。

広告

日本語入力(ime)不可のサンプル

日本語入力モード(ime-mode=active)の場合、メッセージを表示します。
1文字目の入力時(onkeydown)のみチェックしますので、日本語入力モードのままでも入力可能です。
※日本語をコピー&ペーストした場合は、チェックしません。

英数字入力 (日本語入力はエラー)


日本語入力モード(ime-mode=active)を検知するjavascript
function imeoff(evt){
if(document.getElementById("imeoff").value.length==0){
document.getElementById("offerr").innerHTML="";
if(evt.which=="229" || evt.which=="0"){
var werrmsg="日本語入力モードになっています。英数字入力エリアです。";
document.getElementById("offerr").innerHTML=werrmsg;
return true;}}}
ページTOP

日本語入力(ime)のサンプル

英数字入力モード(ime-mode=inactive)の場合、メッセージを表示します。
1文字目の入力時(onkeydown)のみチェックしますので、英数字入力モードのままでも入力可能です。
※英数字をコピー&ペーストした場合は、チェックしません。

日本語入力 (英数字入力はエラー)


英数字入力モード(ime-mode=inactive)を検知するjavascript
function imeon(evt){
if(document.getElementById("imeon").value.length==0){
document.getElementById("onerr").innerHTML="";
if(evt.which!="229" && evt.which!="0"){
var werrmsg="英数字入力モードになっています。日本語入力エリアです。";
document.getElementById("onerr").innerHTML=werrmsg;
return true;}}}
ページTOP

注意事項

  • ime-modeの設定値は、下記4種類です。
    ①auto(初期値):指定なし
    ②active:日本語入力モード
    ③inactive:英数字入力モード(変更可)
    ④disabled:英数字入力モード(変更不可)
    ※active、inactiveは、ユーザー操作でモードの変更可、disabledは、ユーザー操作でモードの変更不可です。
  • ime-modeは、W3Cでは積極的な使用は推奨していないようです。詳細は、CSS Basic User Interface Module Level 3 (CSS3 UI) 日本語訳を参照ください。
  • HTML5で追加されたinputタグのtype属性には、IMEがオフになるものがあります。number、email、urlなどが該当します。動作は、<input>のサンプル画面で確認可能です。
  • W3Cがime-modeの使用を推奨していないことや、HTML5でinputタグのtype属性が追加されたことで、ime-modeの使用頻度は減っていきそうです。
ページTOP
広告
QrCode
このページのURL
スマートフォン・タブレット運営 : CMAN 株式会社シーマン