ASP.NET(VB)で開発しています。
Page_init時に生成されるテキストボックス1、2(動的コントロール)を表示します。
テキストボックス1のテキストチェンジイベント時に
テキストボックス2にフォーカスが移動するようにしたいです。
テキストチェンジでPostBackが発生し、サーバ側でテキストボックス2.Focus()
と記述しているのですが、動作は、テキストボックス2に
フォーカスが移らず、画面上のどこにもフォーカスがあたっていない状態になってしまいます。
動的コントロールへ、PostBack時にフォーカス移動させるにはどうしたら良いか
お願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
以下のようにすれば可能と思いますが、これと違うことがしたいのなら、どのようにしたいのかもっと詳しく書いてください。
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<script runat="server">
protected void Page_Init(object sender, EventArgs e)
{
TextBox tb = new TextBox();
tb.ID = "TextBox1";
tb.Text = "TextBox1";
tb.AutoPostBack = true;
tb.TextChanged += new EventHandler(TextBox1_TextChanged);
PlaceHolder1.Controls.Add(tb);
tb = new TextBox();
tb.ID = "TextBox2";
tb.Text = "TextBox2";
tb.AutoPostBack = true;
tb.TextChanged += new EventHandler(TextBox2_TextChanged);
PlaceHolder1.Controls.Add(tb);
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
TextBox tb = (TextBox)PlaceHolder1.FindControl("TextBox1");
if (tb != null)
{
tb.Focus();
}
}
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
TextBox tb = (TextBox)PlaceHolder1.FindControl("TextBox2");
if (tb != null)
{
tb.Focus();
}
}
protected void TextBox2_TextChanged(object sender, EventArgs e)
{
TextBox tb = (TextBox)PlaceHolder1.FindControl("TextBox1");
if (tb != null)
{
tb.Focus();
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>
</div>
</form>
</body>
</html>
No.1
- 回答日時:
んー、ちょっと難しい問題ですね。
「フォーカスの移動」てのは、基本的にクライアントサイドの動き。
javascript的に言うと、"document.getElementById("hoge").focus()"なわけで、サーバサイドから指示するっていうのは、onloadで動作する、そういうjsをレスポンスに書き込んでいる処理だから、サーバサイドの生成コントロール(つうかhtml要素)を、うまくjsスタートアップが捕捉できてないんだと思います。
「フォーカス」という行為に限って言うなら、サーバサイド処理の「動的(つうか行き当たりばったりな)」処理をやめて、宣言的にするのが一番かと。
1.Page_Initイベントでの動的生成を止める。宣言的に配置しておいて、visibleなどで制御する。
2.TextChangedイベントを止め、クライアントサイドで捕捉する。
3.全部クライアントサイドにしてしまう。
他の処理との兼ね合いでサーバサイド(PostBack)処理が必要なら仕方ないですが、UI的なAjaxぽい意味、jQueryとかでやったほうが何倍もスムーズですよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス 意図せずサブプロシージャを移動してしまうのを止めたい 1 2022/09/02 09:19
- Word(ワード) ワード 2003。表とテキストボックスや図をグループ化出来ませんか? 2 2022/04/17 15:06
- PDF Just PDF 5 proでポップアップしたファイル名がつきまとう 2 2022/12/18 09:56
- その他(IT・Webサービス) micro soft teamsのカメラ設定について 1 2023/05/25 18:07
- 一眼レフカメラ 一眼レフ Canon 5D mark4 の4K動画撮影 ピントが背景に持っていかれる 2 2023/05/10 22:52
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- Access(アクセス) アクセス IDが空白の時、メッセージボックスがでるようにするには 1 2022/08/04 11:06
- その他(パソコン・スマホ・電化製品) ワードでテキストボックス内の文字を連動させない方法 2 2023/02/09 16:56
- その他(悩み相談・人生相談) パワーポイントにて テキストボックス内の文字がテキストボックスを動かすと文字までが動きます どうした 2 2023/05/31 09:46
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
ASP.netで、CheckBoxListのSelectedIndexChangedが発生しません!
Microsoft ASP
-
【ASP2.0】TextBoxのフォーカスアウトでPostBackを実装させたい
Microsoft ASP
-
PageLoadの後にJavascript実行したい
Microsoft ASP
-
-
4
ASP.NETにてロストフォーカス処理
Microsoft ASP
-
5
Webページ上のボタン等の位置を移動したい。
Microsoft ASP
-
6
textboxとLabelを動的に変更する
Microsoft ASP
-
7
ASP.NET TextBox 入力制限
Microsoft ASP
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
人体切断マジックの事でお聞き...
-
iモーションの保存不可設定がで...
-
オープニングのフラッシュ後、...
-
ミラブルシャワーヘッドはナノ...
-
【FLASH】テキスト入力ボックス...
-
flashとjavascriptとhtmlの連携...
-
目立つ広告の作り方
-
VBにて、非アクティブでフォー...
-
googleサーチコンソールでの重...
-
あなたの知ってるおもしろいデ...
-
名古屋の栄と錦は治安悪い?
-
word
-
数式中の文字をCambria Math以...
-
PowerPoint SmartArtの箇条書...
-
capcutってアプリで質問です。 ...
-
『μg』の読み方と意味。
-
イラレでダブルクリックで文字...
-
コンピュータ言語paythonのエデ...
-
C言語の関数の実引数と仮引数の...
-
AFTER EFFECTS アンカーポイン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
LINEのステメやプロ画は変える...
-
ユーザーがクリックするまでフ...
-
ファーストピアスのキャッチが...
-
Access2010 SetFocusが当たらない
-
VS2013の選択した行に出る白枠...
-
子ウインドウを閉じて 親ウイ...
-
人体切断マジックの事でお聞き...
-
ASP.NET 動的コントロールのフ...
-
googleサーチコンソールでの重...
-
VBにて、非アクティブでフォー...
-
JSPで初期カーソル表示する方法
-
アプリがフォーカスを
-
あなたの知ってるおもしろいデ...
-
波紋のようなエフェクトを発生...
-
タスクバーに今やってることを表示
-
この文を英語で分かりやすく訳...
-
路上の呼び込みについて
-
Canvasのメモリーリーク疑いに...
-
猫の目とカメラのフラッシュの...
-
一発芸をすることに…
おすすめ情報