none
プルダウンメニューのIMEモード RRS feed

  • 質問

  • お疲れ様です。
    プルダウンメニューのIMEモードについて質問があります。

    [処理手順]
    1.テキストボックスAに日本語を入力後、タブキーでプルダウンメニューBに移動します。
    2.プルダウンメニューBがアクティブな状態でキーを押すと、IMEが日本語入力の状態のため全角を選択します。
    3.IMEモードを半角にして、プルダウンメニューがアクティブな状態でキーを押すと、押したキーに対応する項目がプルダウンメニューで選べます。

    [質問]
    お客様から、IMEモードが日本語入力でも、プルダウンメニューがアクティブになればIMEモードは半角で選択可能にならないか、という要望がありました。
    テキストボックスなら、style="ime-mode:inactive" で対応可能だと思いますが、プルダウンメニューではNGでした。

    以下に実装のサンプルを示します。単純に、DropDownList でプルダウンメニューを生成しています。
    <asp:DropDownList ID="TEST_ID" runat="server"></asp:DropDownList>

    こちらでも調査中ですが、仕様的に解決可能なのか、可能な場合はその方法が載っているサイトなどの情報源を教えて頂けないでしょうか。
    個人的には、仕様的に無理じゃないのかなとも思っています。
    不可能な場合は、全角の場合は、半角に変換すればプルダウンメニューの項目を選べる、と提案します。

    [動作環境]
    サーバーOS:Windows Server 2008
    Webサーバ:IIS7.0
    FW:.NET Framework 2.0
    言語:ASP.NET2.0

    クライアントOS:Windows XP SP3
    ブラウザ:IE6
    IME2007
    注:IE7,8,IME2002,2003にも対応予定

    以上、お手数ですがよろしくお願いいたします。

    2009年9月14日 7:35

回答

  • 例えば以下のような CSS を作っておいて、

    <style type="text/css">
        .imeInactive
        {
            ime-mode: inactive;       
        }
    </style>

    DropDownList の CssClass プロパティに以下のように設定してやることでうまくいきませんか?

    <asp:DropDownList ID="DropDownList1"
        runat="server"
        ・・・中略・・・
        CssClass="imeInactive">

    自分の環境(Vista SP2, .NET 3.5 SP1, IIS7, IE8 のローカル IIS モード)で試してみましたが、
    フォーカスが DropDownList(HTML タグでは select)に移ると IME は inactive になりました。
    お試しください。

    2009年9月14日 15:29
  • ご回答ありがとうございます。

    CSSは外部ファイルに定義すると方法で行いましたが、IME は inactive になりませんでした。

    動作環境の違いか、開発中のシステムの設定など原因の切り分けができていないので、現在の動作環境にてサンプルプログラムを動かして検証をしたいと思います。
    2009年9月15日 4:50
  • > CSSは外部ファイルに定義すると方法で行いましたが、IME は inactive になりませんでした。

    すみません、ブラウザが IE6 でしたね。自分の環境では IE8 ですと標準でも互換表示でもうま
    くいきますが、IE6 ではダメでした。

    2009年9月15日 14:21

すべての返信

  • 例えば以下のような CSS を作っておいて、

    <style type="text/css">
        .imeInactive
        {
            ime-mode: inactive;       
        }
    </style>

    DropDownList の CssClass プロパティに以下のように設定してやることでうまくいきませんか?

    <asp:DropDownList ID="DropDownList1"
        runat="server"
        ・・・中略・・・
        CssClass="imeInactive">

    自分の環境(Vista SP2, .NET 3.5 SP1, IIS7, IE8 のローカル IIS モード)で試してみましたが、
    フォーカスが DropDownList(HTML タグでは select)に移ると IME は inactive になりました。
    お試しください。

    2009年9月14日 15:29
  • ご回答ありがとうございます。

    CSSは外部ファイルに定義すると方法で行いましたが、IME は inactive になりませんでした。

    動作環境の違いか、開発中のシステムの設定など原因の切り分けができていないので、現在の動作環境にてサンプルプログラムを動かして検証をしたいと思います。
    2009年9月15日 4:50
  • > CSSは外部ファイルに定義すると方法で行いましたが、IME は inactive になりませんでした。

    すみません、ブラウザが IE6 でしたね。自分の環境では IE8 ですと標準でも互換表示でもうま
    くいきますが、IE6 ではダメでした。

    2009年9月15日 14:21