みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

テキストボックスに数値以外は入力させない方法

社内で使用しているグループウェアで使うための帳票をhtmlで作成しています。

社員が経費などの精算をするのに金額や内容を入力して上司へ提出するためのフォームなのですが、その金額欄に入力する際、半角数字で入力しないと帳票が正しく動作しないのです。
(全角数字や、\や,(カンマ)を入れるとグループウェアが正しく認識してくれない)

そのため、金額欄に半角数字以外は入力させないようにしたいのですが、うまくいきません。
スタイルシートで

 STYLE="ime-mode:disabled;"

を使えば、IEでは上手くいくのですが、NNやOperaでは有効になりませんし、\など記号の入力もできてしまいます。
半角数字以外は入力できなくする、という方法はありますか?
そうでなければ、上記の「STYLE="ime-mode:disabled;"」のような内容でNN&Operaでも有効になる方法でも構いません。(せめてNNだけでも…)

説明が下手で申し訳ありませんが、ご存知の方は教えてください。
よろしくお願いいたします。

投稿日時 - 2002-10-21 09:47:16

QNo.385939

困ってます

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

送信時っていうことは、送信ボタン押下時ということでしょうか?
テキストボックスのonBlurイベント(フォーカスが離れた時に発生するイベント)またはonChangeイベント(内容が変更された時に発生するイベント)でチェックしてやればいいのでは?

参考URLの「フォーム」「テキストボックスの入力値をチェック」あたりが参考になるかと。

もしくは、こちらの英数チェックを数値チェックのみにカスタマイズしてみるとかでいかがでしょう?
http://allabout.co.jp/computer/javascript/subject/msub_001022020.htm

参考URL:http://homepage1.nifty.com/kodayan/javasc/index.htm

投稿日時 - 2002-10-21 10:35:25

お礼

ありがとうございます!これでいけそうです。
大変助かりました。
ありがとうございました!

投稿日時 - 2002-10-21 13:47:36

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

スタイルシートで全てのブラウザ(もしくはIEとNN)の入力内容制限はできなかったはずです。
JavaScriptで入力値をひとつづつチェックする、もしくは正規表現でチェックしてはじく、という方法しかないのではないかと思います。

投稿日時 - 2002-10-21 09:59:57

お礼

やはりそうですか…(ここで検索してそういった回答があったのですが、もしかしたら、と思って質問したのですが…)
JavaScriptで送信時にチェックするという方法は見つけたのですが、帳票とグループウェアの性質上そういった方法が取れない(入力時にチェックするしかない)ので困っています。

ご回答ありがとうございました。

投稿日時 - 2002-10-21 10:07:02

あなたにオススメの質問