- - PR -
(ASP.Net)テキストボックスについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-10-13 18:26
初心者の質問で申し訳ないです。
Webコントロールのテキストボックスで、AutoPostBackプロパティをFalseに設定しても、エンターキーを押すとポストされてしまいます。テキストボックス内でのエンターキー押下ではポストされないようにしたいのですが、どのように設定すればよいのでしょうか? お願いします。 |
|
投稿日時: 2005-10-13 18:40
AutoPostBack:
ユーザーが TextBox コントロール内のテキストを変更し、 そのコントロール外にタブを使って移動するたびに、 サーバーへのポストバックが自動的に発生するかどうかを示す値を取得または設定します。 AutoPostBackは関係ありません、ここが参考になるかと http://www.divakk.co.jp/blog/aoyagi/archive/2004/05/18/486.aspx |
|
投稿日時: 2005-10-13 19:08
AutoPostBackプロパティについての説明はburton999さんに譲るとしまして、
エンターキー押下でのポストバックが発生するのは、 aspxファイルのformタグ内にある一番上のボタンが押下されることになってしまうためです。 なので、私はformタグのすぐ後に↓を入れてます(私はグリッドレイアウトを使用しています)。 <INPUT style="Z-INDEX: 100; LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; HEIGHT: 0px" onclick="javascript:return false;" type="submit" value="Submit"> javascript:return false;でポストバックを防いでいるわけです。 |
|
投稿日時: 2005-10-14 10:13
ご返答ありがとうございます。
AutoPostBackは無関係なのでしたか。 これでやってみます。 |
|
投稿日時: 2005-10-14 12:17
自分も同じくこれで悩みましたよ。
自分はジャバスクリプトを埋め込みました。 [keyCode13=エンター]がテキストボックス内で押されたときは [keyCode9 = Tab]に置き換えています。 こうすると、エンターで次のフォーカスに移るので、より便利になるのでは? function keydown() { if(event.keyCode==13) { if (window.event.srcElement.type!='submit' && window.event.srcElement.type!='textarea') { event.keyCode=9; } } } document.onkeydown = keydown; |
1