- PR -

勝手にボタンのクリックイベントが走る!!

1
投稿者投稿内容
hana
ベテラン
会議室デビュー日: 2003/02/08
投稿数: 70
投稿日時: 2004-03-09 15:37
みなさんこんにちは。
現在、C#でwebアプリの開発を行っています。

そこで今悩んでいるのですが、
テキストボックスにスキャナでバーコードを読み込んだ直後、
(PCにバーコードスキャナを接続しています。)
勝手に同画面のボタンクリックイベントが発生してしまいます。
ボタンはイメージボタンを使用しています。

どなたかお助け下さい。
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2004-03-09 15:41
NAL-6295です。

推測ですが、
バーコードスキャナのサフィックスの設定で改行を付加しているため、
Enterが押されたものと判断して、Submitが発生する。

といった現象ではないですか?
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2004-03-09 16:10
終端文字の設定とかありませんかね。
多分Enterを押したことになっているんだと思います。

Enterでなぜクリックになるのかはこちら
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=6452&forum=7
hana
ベテラン
会議室デビュー日: 2003/02/08
投稿数: 70
投稿日時: 2004-03-09 17:56
すばやい回答ありがとうございます。

テキストボックス2つと、
リストボックスが1つ、
ボタンが登録ボタンと、閉じるボタンの2つのフォームです。

一番目のテキストボックスにバーコードを入力すると、
二番目のテキストボックスにカーソルが行くと思いきや、
登録ボタンが押されてしまいます。
どうにかして回避しようとしているのですが、
どうにもうまく行きません。

バーコードを読んだらすぐにテキストのchangeイベントを発生させたいので、
バーコードの改行設定は変えられません。

何かいい方法ありませんでしょうか・・・。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-03-09 18:10
引用:

hanaさんの書き込み (2004-03-09 17:56) より:

テキストボックス2つと、
リストボックスが1つ、
ボタンが登録ボタンと、閉じるボタンの2つのフォームです。


 一郎さんの提示されているリンク先にありますが、「仕様です。あきらめてください」。

 別の同じ問題で、「何もしないボタンを置いて解決したことにしました」というのがあったような???style="visibility:hidden"にしたら、クリックはできないけれど、リターンキーでクリックしたことになるのかしらん?
すなめり
常連さん
会議室デビュー日: 2003/01/29
投稿数: 37
お住まい・勤務地: 横浜
投稿日時: 2004-03-09 18:35
テキストボックスにデータが入らない状態でSubmitされるのを回避したい、
ということでしたら、JavaScriptでonSubmitイベントを拾って、二つの
テキストボックスの両方に値が入っているかをチェック、入っていなければ
falseを返してイベントをキャンセルするという手もあるかな、と思います。
空な方のテキストボックスにフォーカスも移してあげるとさらによさそうです。
Hirashige
常連さん
会議室デビュー日: 2002/10/26
投稿数: 29
投稿日時: 2004-03-09 19:56
引用:

hanaさんの書き込み (2004-03-09 17:56) より:

一番目のテキストボックスにバーコードを入力すると、
二番目のテキストボックスにカーソルが行くと思いきや、
登録ボタンが押されてしまいます。
どうにかして回避しようとしているのですが、
どうにもうまく行きません。

バーコードを読んだらすぐにテキストのchangeイベントを発生させたいので、
バーコードの改行設定は変えられません。

何かいい方法ありませんでしょうか・・・。



TABオーダーにもよりますが、通常、次のテキストボックスにフォーカスが行くのはTABキーだとおもいますが、そして多分TABでもChangedイベントは起きると思いますよ。
そして、キーボードエミュレータ式のバーコードスキャナで改行が付けられれば、普通TABも付けられませんか(改行かタブのどちらか)?
私の知っているキーボードエミュレータは大体TABも付けられましたけど....hanaさんのご使用のものを確認されてみては?
1

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