2009年3月6日金曜日

JavaScript で IME を制御

2009年4月23日追記
タイトルに javascript って書いていますが、正しくは「スタイルシートで IME を制御」です。ちょっと勘違いしていていました。
追記終わり

ウェッブの入力で IME のカナ漢字変換を制御したいとき、JavaScript を使えば簡単にできたので、メモとして載せておきます。
サンプルコード
<form id="form1" name="form1" method="post" action="">
<label>入力項目 disables
<input type="text" name="input1" id="input1" style="ime-mode: disabled"  />
</label>
<label>入力項目 active
<input type="text" name="input2" id="input2" style="ime-mode: active"  />
</label>
<label>入力項目 inactive
<input type="text" name="input3" id="input3" style="ime-mode: inactive"  />
</label>
<label>入力項目 auto
<input type="text" name="input4" id="input4" style="ime-mode: auto"  />
</label>
<input type="submit" name="button" id="button" value="送信" />
</form>

input に style="ime-mode: モード" を指定すると、IME の制御ができます。私の環境で IE7 と Firefox 3.0.7 で確認しましたが、どちらも動作しています。

モードの種類は4種類

auto:ユーザの操作により制御される
active:かな漢字変換オン(ユーザの操作でオフにすることも可能)
inactive:かな漢字変換オフ(ユーザの操作でオンにすることも可能)
disabled:かな漢字変換オフ(ユーザの操作を無視して半角英数しか入力できない)

auto を指定する意味は無いように思います。
この JavaScript を使えば、入力時のサポートができるかな?

3 件のコメント :

  1. それはスタイルシートじゃ??

    返信削除
  2. 匿名さん、こんにちは。

    ご指摘の通り、スタイルシートですね。
    調べているときに Javascript で制御できないかな?と思いながら調べていたので、勘違いしてしまったようです。

    コメントありがとうございました。
    追記で直しておきます。

    返信削除
  3. どんまいです^^

    返信削除