- PR -

数値のみ入力

1
投稿者投稿内容
Qちゃん
常連さん
会議室デビュー日: 2003/06/27
投稿数: 36
投稿日時: 2003-11-13 11:37
こんにちは。

テキストボックスに数値のみ入力する方法はありませんか??
調べたところ、スタイルシートのime_modeなどあるようですが、
これでは、半角英数入力なので数値のみにはなりません(T^T)

どなたかご教授願います。
おばけ
ぬし
会議室デビュー日: 2002/11/14
投稿数: 609
お住まい・勤務地: 東京都江東区
投稿日時: 2003-11-13 12:16
引用:

テキストボックスに数値のみ入力する方法はありませんか??
調べたところ、スタイルシートのime_modeなどあるようですが、
これでは、半角英数入力なので数値のみにはなりません(T^T)


HTMLのinputタグでtype="text"と指定した時のことを想定されているのでしょうか?
それならば、以下の方法があるでしょう。

  • JavaScriptで入力内容をチェック
  • フォームをSubmitした後にサーバサイドで入力内容をチェック

おっしゃっているIME制御のスタイルシートは、そもそもWindowsでしかまともに動かないのではないでしょうか。それでは根本的な解決にはならないと思います。

JavaScriptなら、onChangeイベント等で関数を呼び出して、入力内容をチェックすればよいでしょう。サーバサイドの場合はそれをJavaでやるだけの話です。Strutsをお使いなら、ActionFormのvalidateメソッド内に記述します。例えば、java.lang.Integer#parseIntで入力内容をパースして、NumberFormatExceptionが投げられたらエラーにする、とかいうのがありそうですね。
Wata
ぬし
会議室デビュー日: 2003/05/17
投稿数: 279
投稿日時: 2003-11-13 12:41
こんにちは、Wataです。
引用:

それならば、以下の方法があるでしょう。

  • JavaScriptで入力内容をチェック
  • フォームをSubmitした後にサーバサイドで入力内容をチェック



これは、「どちらか」でなく「両方」実施すべきでしょう。
クライアントサイドのチェックは簡単に回避できますし、
サーバーサイドのみだと入力チェックのためにhttpレスポンスを待たなくてはならず、
あまり親切とはいえません。(入力項目が十分少なければ影響は小さいです。)
1

スキルアップ/キャリアアップ(JOB@IT)