トップ回答者
enterキーの動き

質問
-
asp.netの最初のバージョン(2003)で作成しています。
textboxに番号を入力しtextaaa_textchangedにプログラムを書いて画面に表示させるものを作りました。
クライアントの環境の中で実行させて確認すると普通に動きます。
プログラムをレンタルサーバーに置きインターネット経由で同じ操作(番号入力、改行キー)をすると、画面内に「メニューbutton」があるのですが、そのボタンを押した動作をするようで、前のメニュー画面に移動してしまいます。
原因回避する方法が不明です。改行キーを押さずにフォームをクリックすると希望の動きをします。
のぐちみずき
回答
-
野口みずき さんの発言:
プログラムをレンタルサーバーに置きインターネット経由で同じ操作(番号入力、改行キー)をすると、画面内に「メニューbutton」があるのですが、そのボタンを押した動作をするようで、前のメニュー画面に移動してしまいます。ちょっと詳しい状況がわからないのですが、以下が参考になりませんでしょうか?
ASP.NET でクライアントサイドのエンターキーを制御する
http://www.divakk.co.jp/blog/aoyagi/archive/2004/05/18/486.aspx
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/- 回答としてマーク sk7474 2009年2月6日 4:54
-
ブラウザに依存するようですが、IE7 の場合、Enter キーでボタンがクリックさ
れるというよりは、TextBox にフォーカスがあるとき Enter キーを押すと form
が submit されるようです。 (Opera は違うようです)解決策は trapemiya さんの回答にありますが、汎用性を求めず TextBox だけで
よければ、Page_Load に以下の一行を追加すればよいと思います。(TextBox1
は自分のコードに合わせて書き換えてください。また、下記は C# ですので注意)TextBox1.Attributes["onkeydown"] = "if (event.keyCode == 13) return false;";
なお、Opera は上記ではダメです。trapemiya さんの回答の script でもダメで
した。(Opera バージョン 9.63 で検証)- 回答としてマーク sk7474 2009年2月6日 4:54
すべての返信
-
野口みずき さんの発言:
プログラムをレンタルサーバーに置きインターネット経由で同じ操作(番号入力、改行キー)をすると、画面内に「メニューbutton」があるのですが、そのボタンを押した動作をするようで、前のメニュー画面に移動してしまいます。ちょっと詳しい状況がわからないのですが、以下が参考になりませんでしょうか?
ASP.NET でクライアントサイドのエンターキーを制御する
http://www.divakk.co.jp/blog/aoyagi/archive/2004/05/18/486.aspx
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://blogs.wankuma.com/trapemiya/- 回答としてマーク sk7474 2009年2月6日 4:54
-
ブラウザに依存するようですが、IE7 の場合、Enter キーでボタンがクリックさ
れるというよりは、TextBox にフォーカスがあるとき Enter キーを押すと form
が submit されるようです。 (Opera は違うようです)解決策は trapemiya さんの回答にありますが、汎用性を求めず TextBox だけで
よければ、Page_Load に以下の一行を追加すればよいと思います。(TextBox1
は自分のコードに合わせて書き換えてください。また、下記は C# ですので注意)TextBox1.Attributes["onkeydown"] = "if (event.keyCode == 13) return false;";
なお、Opera は上記ではダメです。trapemiya さんの回答の script でもダメで
した。(Opera バージョン 9.63 で検証)- 回答としてマーク sk7474 2009年2月6日 4:54