- PR -

(ASP.Net)テキストボックスについて

1
投稿者投稿内容
あやこ
会議室デビュー日: 2005/10/13
投稿数: 13
投稿日時: 2005-10-13 18:26
初心者の質問で申し訳ないです。
Webコントロールのテキストボックスで、AutoPostBackプロパティをFalseに設定しても、エンターキーを押すとポストされてしまいます。テキストボックス内でのエンターキー押下ではポストされないようにしたいのですが、どのように設定すればよいのでしょうか?
お願いします。
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2005-10-13 18:40
AutoPostBack:
ユーザーが TextBox コントロール内のテキストを変更し、
そのコントロール外にタブを使って移動するたびに、
サーバーへのポストバックが自動的に発生するかどうかを示す値を取得または設定します。


AutoPostBackは関係ありません、ここが参考になるかと
http://www.divakk.co.jp/blog/aoyagi/archive/2004/05/18/486.aspx
fizzy
会議室デビュー日: 2003/09/09
投稿数: 17
お住まい・勤務地: TOKYO
投稿日時: 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/13
投稿数: 13
投稿日時: 2005-10-14 10:13
ご返答ありがとうございます。
AutoPostBackは無関係なのでしたか。
これでやってみます。
セイン
常連さん
会議室デビュー日: 2005/06/15
投稿数: 24
投稿日時: 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

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