- PR -

Webフォーム上でのEnterキー無効化

投稿者投稿内容
hana
ベテラン
会議室デビュー日: 2003/02/08
投稿数: 70
投稿日時: 2003-03-24 16:45
「onkeypress」でも「onkeydown」でも、
どちらでもEnterキーを無効にすることができました!!

しかし、バーコードを読んだ後、
「TextChanged」イベントが発生しなくなってしまいました・・・。
どうすればよいでしょうか・・・。

何度もごめんなさいっっ。
焼きそば
ベテラン
会議室デビュー日: 2002/11/06
投稿数: 86
お住まい・勤務地: 東京
投稿日時: 2003-03-24 16:53
引用:

hanaさんの書き込み (2003-03-24 16:45) より:
「onkeypress」でも「onkeydown」でも、
どちらでもEnterキーを無効にすることができました!!

しかし、バーコードを読んだ後、
「TextChanged」イベントが発生しなくなってしまいました・・・。
どうすればよいでしょうか・・・。

何度もごめんなさいっっ。



JavaScriptで値をテキストボックスにいれた場合はサーバーイベントが動きません。
他のサーバーイベントが動作するタイミングでTextChangedイベントが動きます。
なのでJavaScriptのonChangeイベントで解決するしか方法がないかもしれませんね。

イベントの発生するタイミングがずれてもいいなら、わざとボタンのOnClickイベントか何かを
発生させるという方法がありますが。

#仕様によりますが、多分だめでしょうね。
なごやん
会議室デビュー日: 2003/03/03
投稿数: 10
投稿日時: 2003-03-24 16:58
お邪魔しますが・・・

お話を聞いておりますと
バーコードリーダーを「CR+LF」しないようにした方が早いような気がします。
普通のバーコードリーダーなら、Code設定、スキャン設定の他に
出力の設定も出来る筈です。
キーボードで「Enter」を押すのと事と同じになるので
Clickイベントは走ってしまうと思いますけど・・・
※Windowsアプリのようにはいきませんね・・・

先ほどテキストボックス一個と数個の時で比べましたが
一個の時は、クリックはしませんでした。
一個の時の方がおかしいような・・・

お邪魔しました。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2003-03-24 21:44
>「onkeypress」でも「onkeydown」でも、
>どちらでもEnterキーを無効にすることができました!!

私もバーコードを扱うプログラムを作ったことがありまして、手入力をさせないようにとキーダウンイベントで入力を無効にした所、バーコードからの入力も無効になってしまった経験から、まぁ多分、イベントが発生しないんじゃなくてプログラムを書いて試してないんだろうなと疑ってはいましたが・・・。
インテリセンスは、使えるものが表示されなかったり、使えないものが表示されたりしますので、入力補助程度の意識で利用すると良いでしょう。特にVB.NETでは。

で、TextChangedイベントは、発生してもデフォルトではポストバックされません。
その他のポストバックされるイベント(今回の例ではボタンのClick)が発生したときに一気に、イベントが発生した順にサーバー側で処理されます。
(つまり、ポストバックの原因となったイベントは常に最後に処理される)

ですので多分、TextChangedイベントは発生してはいるのだと思います。
後、コントロールのAutoPostBackプロパティをtrueにすると「デフォルトではポストバックされないイベント」でポストバックを発生させることができます。

>バーコードリーダーを「CR+LF」しないようにした方が早いような気がします。
私の扱ったものでも、スキャンしたコードの最後に勝手に入力される終端文字というのを設定できました。
最後にCRLFが入力されないことにするのも良いかもしれません。

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