- PR -

TextBoxのEnter時イベント

1
投稿者投稿内容
やす
会議室デビュー日: 2003/04/02
投稿数: 5
投稿日時: 2003-04-16 11:35
現在、TextBox、DropDownList等で情報を入力し登録ボタンによって
DBに情報を反映させるといった処理を行っているのですが、
TextBox内でEnterボタンを押下すると配置してある先頭(?)のボタンの
Clickイベントが発生してしまって困っています。
TextBoxを配置するとHTML上ではSubmitボタンとなるので、
仕様といわれてしまったらそれまでなのですが、
何か対処方法がありましたらご教授ください。

よろしくお願いします。
(VS.NET、ASP.NET、VB.NET)
否かっぺい
常連さん
会議室デビュー日: 2003/02/10
投稿数: 48
投稿日時: 2003-04-16 11:51
否かっぺいと申します。

formのonkeydownでevent.keyCodeが13(Enterキー)の場合、無効にすれば
よろしいかと思います。
いし
常連さん
会議室デビュー日: 2003/04/15
投稿数: 27
投稿日時: 2003-04-16 12:12
ダミーのsubmitボタンをテキストボックスの直後に配置して、
スタイルの指定で非表示にしておく、っていうのはどうでしょ
うか? 検証してないので有効かどうかはっきり言えないので
すが・・・。

#ブラウザを選ぶかもしれませんし・・・
yoo
会議室デビュー日: 2003/04/03
投稿数: 12
投稿日時: 2003-04-16 12:48
こんにちは。

いしさんの方法でEnterキーの対応をしたことがあります。
submitボタンをHTML上で一番上になるようにしました。
画面上で一番上においたつもりでもGridLayoutだとビミョウに違って
たりするので。。
ブラウザはIE(5.0以上)しか試してませんが特に問題はありません
でした。
Qoo
大ベテラン
会議室デビュー日: 2003/04/08
投稿数: 121
投稿日時: 2003-04-16 14:56
こんにちは。

過去ログで同様の話があるようです。
検索時に、"Enterキー"で絞り込んでみてください。

画面内にTextBoxが複数ある時に、そのような動作になるみたいですね。
TextBoxが1つの時はそうならないみたいです。
やす
会議室デビュー日: 2003/04/02
投稿数: 5
投稿日時: 2003-04-17 09:31
否かっぺいさん、いしさん、yooさん、Qooさん回答ありがとうございます。

早速試してみました。
・ダミーボタンを用意する。
 ⇒ボタンのHeight、Widthを0に設定する事により、
  非表示にし想定していないイベントの発生を制御。

・JavaScriptでEnterボタンをキャンセルする。
 ⇒<FORM id="Form1" method="post" runat="server"
onkeydown="if(event.keyCode==13){
if(window.event.srcElement.type=='text'){return false;}}">
  を記述することによりTextBoxのイベントの発生を制御。

教えて頂いた方法により、無事に想定外のイベントの発生を
制御する出来ることが出来ました。
.NETなのに・・・という気持ちは残りますが・・・

多数の回答ありがとうございました。
1

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