- ベストアンサー
テキストボックスに数値以外は入力させない方法
社内で使用しているグループウェアで使うための帳票をhtmlで作成しています。 社員が経費などの精算をするのに金額や内容を入力して上司へ提出するためのフォームなのですが、その金額欄に入力する際、半角数字で入力しないと帳票が正しく動作しないのです。 (全角数字や、\や,(カンマ)を入れるとグループウェアが正しく認識してくれない) そのため、金額欄に半角数字以外は入力させないようにしたいのですが、うまくいきません。 スタイルシートで STYLE="ime-mode:disabled;" を使えば、IEでは上手くいくのですが、NNやOperaでは有効になりませんし、\など記号の入力もできてしまいます。 半角数字以外は入力できなくする、という方法はありますか? そうでなければ、上記の「STYLE="ime-mode:disabled;"」のような内容でNN&Operaでも有効になる方法でも構いません。(せめてNNだけでも…) 説明が下手で申し訳ありませんが、ご存知の方は教えてください。 よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
送信時っていうことは、送信ボタン押下時ということでしょうか? テキストボックスのonBlurイベント(フォーカスが離れた時に発生するイベント)またはonChangeイベント(内容が変更された時に発生するイベント)でチェックしてやればいいのでは? 参考URLの「フォーム」「テキストボックスの入力値をチェック」あたりが参考になるかと。 もしくは、こちらの英数チェックを数値チェックのみにカスタマイズしてみるとかでいかがでしょう? http://allabout.co.jp/computer/javascript/subject/msub_001022020.htm
その他の回答 (1)
スタイルシートで全てのブラウザ(もしくはIEとNN)の入力内容制限はできなかったはずです。 JavaScriptで入力値をひとつづつチェックする、もしくは正規表現でチェックしてはじく、という方法しかないのではないかと思います。
お礼
やはりそうですか…(ここで検索してそういった回答があったのですが、もしかしたら、と思って質問したのですが…) JavaScriptで送信時にチェックするという方法は見つけたのですが、帳票とグループウェアの性質上そういった方法が取れない(入力時にチェックするしかない)ので困っています。 ご回答ありがとうございました。
お礼
ありがとうございます!これでいけそうです。 大変助かりました。 ありがとうございました!