- PR -

JavaScriptでのWebFormの選択のやりかた

投稿者投稿内容
hirasane
常連さん
会議室デビュー日: 2003/10/31
投稿数: 28
投稿日時: 2003-11-28 15:06
べるさん、ありがとうございます。

"return false;"で、引数に"false"をとってもいけますね。
ところで、やりたいことは、テキストボックスに半角数字のみ入力
できるようにしたいのですが、このためには"OnKeyDown"or"OnKeyPress"
時に、JavaScriptで入力した値を判定して"true"or"false"返す、
となると思います。

しかし、"OnKeyDown"、"OnKeyPress"では、この段階ではテキストボックス
の値を取得できません。"OnChange"では取得できるのですが、半角数字以外
は“押しても入力できない”という機能にしたいのです。

入力値を比較する場合は、正規表現になりますよね?全角かな等はkeycodeでは
判別できないと認識しております。
何か良い方法はありますでしょうか?


引用:

#話題が.netでなくなってきましたが



申し訳ありません・・
.NETと話がそれてしまいましたが、どうぞよろしくお願い致します。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-11-28 15:16
引用:

hirasaneさんの書き込み (2003-11-28 15:06) より:

しかし、"OnKeyDown"、"OnKeyPress"では、この段階ではテキストボックス
の値を取得できません。"OnChange"では取得できるのですが、半角数字以外
は“押しても入力できない”という機能にしたいのです。


 OnChangeで、入力されたものを確認する方がいいですよ。だって、OnKeyPress等で「キー入力」を監視しても、「コピー&ペースト」されたらどうします?

 じゃぁ、CTRL+Vを抑止しても、マウスの右クリックという手があるんですねぇ。

 それを抑止しても、「コンテキストメニューボタン」というものがあるんですねぇ。
(Windowsアプリも一緒。昔、品質担当にこうやっていじめられた)

 入力は、Validatorで行えば、クライアント側でチェックしてくれますよ。


 それから、Webアプリの場合、IMEの制御ができません(IE限定ならできるけど)。ということで、WindowsアプリのようなGUIを期待することが間違っています。
hirasane
常連さん
会議室デビュー日: 2003/10/31
投稿数: 28
投稿日時: 2003-11-28 19:09
Jittaさん、ご助言ありがとうございます。

"OnKeyDown"では、いろいろと問題がありそうですので、"OnSubmit"でJavaScript
の関数を呼び出し、複数のテキストボックスを順にチェックしていき、
エラーが発生した時点で"false"を返し、Submitを中止するという仕様にしました。

皆さま、いろいろとアドバイスいただきありがとうございました。

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