C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 初回起動時にTextBoxにFocusを当てる方法について


(過去ログ 100 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■59577 / inTopicNo.1)  初回起動時にTextBoxにFocusを当てる方法について
  
□投稿者/ はっちゃん (14回)-(2011/05/31(Tue) 22:17:04)

分類:[ASP.NET (C#)] 

2011/05/31(Tue) 22:21:58 編集(投稿者)
2011/05/31(Tue) 22:19:58 編集(投稿者)

<pre><pre>ASP.NET3.5(C#)
VisualStudio2008 SP1
WindowsXP

上記の環境にてWinAppを作成しています。
ログイン画面を開くと「ユーザーID」にカーソルが表示されている状態(カーソルが表示されていなくてもすぐに入力できる状態)にしたいのですが
Page_Loadに下記のコードを記述したのですが、カーソルは表示されず、カーソル移動せずにすぐに入力することもできません。

よろしくお願いします。



if(!IsPostBack)
{



this.txtUserID.Attributes.Add("onfocus", "txtUserID.select();");
this.txtUserID.Focus();
}
</pre></pre>
引用返信 編集キー/
■59580 / inTopicNo.2)  Re[1]: 初回起動時にTextBoxにFocusを当てる方法について
□投稿者/ hs (250回)-(2011/06/01(Wed) 10:14:10)
No59577 (はっちゃん さん) に返信

Load時じゃなくてShown時にフォーカスを当ててはどうでしょうか?
引用返信 編集キー/
■59582 / inTopicNo.3)  Re[1]: 初回起動時にTextBoxにFocusを当てる方法について
□投稿者/ tomo (6回)-(2011/06/01(Wed) 11:18:21)
2011/06/01(Wed) 11:27:30 編集(投稿者)
2011/06/01(Wed) 11:27:19 編集(投稿者)

こんにちは。

> this.txtUserID.Attributes.Add("onfocus", "txtUserID.select();");

ここのJavascriptの書き方が間違っているようです。
C#側にはtxtUserID変数が存在していますが、
Javascript側にはtxtUserID変数は存在していません。

ですので、テキストボックスを選択状態にしたいならば…

this.txtUserID.Attributes.Add("onfocus",
string.Format("document.getElementById('{0}').select()", this.txtUserID.ClientID));

・「document.getElementById('テキストボックスのID文字列')」で、テキストボックスの要素を取得できます。
・「ClientID」でHtmlとして吐き出される時のIDが取得できます。
(場合によっては、C#のID != HtmlのIDなので…)

もしくは

this.txtUserID.Attributes.Add("onfocus", "this.select()");

でもいけます。
「this.select()」のthisには、イベントの発生源の要素が入っています。

引用返信 編集キー/
■59587 / inTopicNo.4)  Re[2]: 初回起動時にTextBoxにFocusを当てる方法について
□投稿者/ todo (148回)-(2011/06/01(Wed) 12:30:33)
[ASP.NET]Webフォーム上のフォーカスを制御するには?
http://www.atmarkit.co.jp/fdotnet/dotnettips/731aspajaxfocus/aspajaxfocus.html
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -