• ベストアンサー

プルダウンリストのIMEを無効にしたい

いつもお世話になっております。 HTMLのSELECTタグの記述において IMEを無効とするにはどのように記述すればよいのでしょうか。 INPUTタグのように、 style="ime-mode:disabled;" と同様の設定はSELECTタグにはございませんでしょうか。 ご教授の程、何卒よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.5

今後の為に蛇足・・・。 入力設計とプログラム設計がごっちゃになっていますけど、大丈夫ですか? 入力の簡略化を求めるのなら、数字だけの入力で済ませるとかその近くのキーだけで済ませられる方が、英字キーが混ざるより楽ですが???それこそ右手だけでキー入力が済むし、左手で他の事が平行して出来るし・・・。 元号ですが詳細は申しませんが・・・、あの~平成1年1月1日は実在しませんが、大丈夫ですか? という事で、元号をプルダウン(数値変換)しても元号の判断は必要のはずですが? S65と入力した場合、単純計算すると西暦1990年となり、和暦平成2年となりますがぁ??? という事で元号ごとの年,月,日の範囲チェックが必要なはずですが、いかがでしょうか?

その他の回答 (4)

回答No.4

<select name="wareki"> <option value="1989">H</option> <option value="1926">S</option> <option value="1912">T</option> <option value="1869">M</option> </select> これで、H, S, T, M 以外の A とか入力(正しくは選択)できますか????? それと同じ状況なだけでしょう。H と H は違います。 それとも全角のH, S, T, M も入力した場合に選択として処理したいのですか? ならば <select name="wareki"> <option value="1989">H</option> <option value="1926">S</option> <option value="1912">T</option> <option value="1869">M</option> <option value="1989">H</option> <option value="1926">S</option> <option value="1912">T</option> <option value="1869">M</option> </select> とすれば良いし、小文字も配慮するなら <select name="wareki"> <option value="1989">H</option> <option value="1926">S</option> <option value="1912">T</option> <option value="1869">M</option> <option value="1989">H</option> <option value="1926">S</option> <option value="1912">T</option> <option value="1869">M</option> <option value="1989">h</option> <option value="1926">s</option> <option value="1912">t</option> <option value="1869">m</option> </select> とすれば良いでしょう。 JavaScript などの処理では value 値が用いられるのでそれこそ違いが判りません・・・。 尚、そんなに面倒がるなら、4択のチェックボックスにすればいいでしょう。 >キーボードでの入力指定が有効と思ったのですが、 >他の項目の影響でIMEがONの状態で >元号を入力しようとすると、 >半角に変換するステップが必要になる事象が発生します。 あの~、キーボードなら十字キーで容易に項目が選択できTABキーで遷移できます。IMEは関係なく容易に操作できますが?????

o_w_nakazaki
質問者

お礼

たびたびのご返答、ありがとうございます。 いろいろな方法をご提案くださり、恐縮しております。 >4択のチェックボックスにすればいいでしょう。 >キーボードなら十字キーで容易に項目が選択できTABキーで遷移できます。IMEは関係なく容易に操作できますが????? キー押下回数が増えてしまうというのがネックになっておりました。 データの登録画面なのですが、登録件数が膨大な為、操作ステップを最小限にするよう検討しておりました。 従来、元号はテキストボックスだったのですが、日付のチェックが行われていなかった為、 その対応方法をいろいろ検討していたのですが、その際にプルダウンにすることで Javascript上で元号判定は不要になる為、有効活用できると踏んでいた次第です。 プルダウンは使用せず、従来どおりのテキストボックスをIME無効とし、 JavaScriptで年号判定することで落ち着きました。 説明が至らな買った為、回答者の方々に不快感を持たせてしまったことを お詫び申し上げます。 失礼いたしました。

回答No.3

#2の者ですが、投稿した直後にちょっと気になって複数になってしまいますが再度回答を・・・。 これって、もしかしてその次の項目の和暦年の問題ではないですか?たぶん年だからという事で数字のみとしたいだろうし JavaScript の動作のタイミングも気になるし・・・。

o_w_nakazaki
質問者

補足

ご返答頂きありがとうございます。 すみません。補足に至らない点がありました。 補足で示しておりますプルダウンリストがフォーカスの状態で 元号を入力するとその元号が選択されるかと思います。 直接値を入力できるわけでは有りませんが、元号1文字という今回のケースに限っては キーボードでの入力指定が有効と思ったのですが、 他の項目の影響でIMEがONの状態で 元号を入力しようとすると、半角に変換するステップが必要になる事象が発生します。 プルダウンではIMEの制御は不可のようなので テキストボックスで対応すべく修正中です。 また、閏年対応の値チェックはSubmitする直前にJavaScriptで行います。 (年号の年+和暦年-1)を年とし、西暦の状態でチェックを行いますので 昭和64年12月31日は有効として取り扱っております。 また報告させていただきます。ありがとうございました。

回答No.2

回答というか・・・。 入力情報が元号,和暦年,月,日であると。 で、検討するのは元号のみ。 まずは平成,昭和,大正,明治の4つだけで良いのですね?それ以外は選べないと。ならば #1 の補足にある状態だけで充分でしょう。そこで何をしようが選択した option の value値(value属性が無ければ内容)が渡るだけで、逆に入力したくても出来ません。 (他の言語では入力項目とプルダウンが組み合わさって、その様な状態にできた覚えが・・・。記憶が曖昧ですが。) ただ少々不安は、元号の option の value値が西暦ですが、単に和暦年の数値をノーチェックで加算すると、選択で昭和を選んでも平成になってしまう事も・・・。 結局、和暦年も元号チェックが必要で・・・。 まぁ月は簡単なので良いけど、日はうるう年の対応が面倒・・・。 という事で私は元号の option の value値を西暦にはせず、和暦の記号のままをお勧めします。 その方が JavaScript の記述も判りやすいかと。 >IMEを有効とする項目がある場合、 >タブが和暦のプルダウンリストに移ったときに設定が有効のままとなり >直接入力が出来ない状態となり、困っております。 あの~、「プルダウンリスト」は常に入力不可です。リストから選択する物です。 何か間違えがあるのでは?

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.1

こんにちは。 SELECTでは入力されるわけでは無いので指定出来ないのでは無いでしょうか。 (指定出来た所でどう使われるのかがわかりません) どのような運用をお考えでしょうか?

o_w_nakazaki
質問者

補足

早々のご返答を頂き、ありがとうございます。 日付の入力項目を設けており、 和暦年、月、日をテキストボックス、 和暦の略字記号をプルダウンリストとして出力したいと考えております。 <select name="wareki"> <option value="1989">H</option> <option value="1926">S</option> <option value="1912">T</option> <option value="1869">M</option> </select> 和暦以外の略字記号の入力防止、および 入力した日付が正しいかチェックする際にJavaScriptが簡素化されて よいと思ったのですが、 IMEを有効とする項目がある場合、 タブが和暦のプルダウンリストに移ったときに設定が有効のままとなり 直接入力が出来ない状態となり、困っております。 不可能であれば、テキストボックスに変更し、 JavaScriptで略字記号の入力チェックも行おうと考えております。

関連するQ&A