- PR -

起動時にテキストボックスにフォーカス

投稿者投稿内容
Masa
ベテラン
会議室デビュー日: 2007/03/19
投稿数: 65
投稿日時: 2008-08-28 17:17
こんにちは。

VB2005を利用しWebアプリを作成しています。

ログイン画面にログインIDとパスワード、ログインボタンを配置しておりますが起動時にログインIDへフォーカスをセットしたいです。

サーバー側イベントに
textbox1.focus()
と記述することでフォーカスをセットすることはできましたが入力カーソルが表示できません。(そこで文字を入力すると入力でき、入力カーソルも表示されます。)

クライアント側の方のフォームタグに
defaultfocus="TextBox1"
を追加することでも出来ると調べたサイトに載ってましたがこれはうまく動作しませんでした。

入力カーソルが表示される方法はどのようにしたらよいのでしょうか?

ご教授願います。
Access
ぬし
会議室デビュー日: 2002/04/08
投稿数: 829
投稿日時: 2008-08-29 08:11
以下のキーワードで検索してみてください。

Keyword: asp.net focus show cursor

例1:
<body onload="javascript:document.Form1.TextBox1.focus();">

例2:
Page.RegisterStartupScript("SetFocus", _
"<script>document.getElementById('" & TextBox1.ClientID & _
"').focus();</script>")


_________________
ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集
Masa
ベテラン
会議室デビュー日: 2007/03/19
投稿数: 65
投稿日時: 2008-08-29 08:29
引用:

Accessさんの書き込み (2008-08-29 08:11) より:
以下のキーワードで検索してみてください。

Keyword: asp.net focus show cursor

例1:
<body onload="javascript:document.Form1.TextBox1.focus();">

例2:
Page.RegisterStartupScript("SetFocus", _
"<script>document.getElementById('" & TextBox1.ClientID & _
"').focus();</script>")





Access様

例1の方法で実行しました。
うまく入力カーソルが表示できました。

ありがとうございます。
Masa
ベテラン
会議室デビュー日: 2007/03/19
投稿数: 65
投稿日時: 2008-08-29 13:31
うまくいったと思ったのですが、以下のようなエラーが出ていました。

エラー:'document.Form1.Textbox1'はNullまたはオブジェクトではありません。
コード:0

これはどうしてでしょうか?
body部の一番最初に記入しました。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-08-29 14:04
引用:

Masaさんの書き込み (2008-08-29 13:31) より:

エラー:'document.Form1.Textbox1'はNullまたはオブジェクトではありません。
コード:0

これはどうしてでしょうか?
body部の一番最初に記入しました。


最初に記入したかどうかはあまり重要ではないような...。

今回のエラーは JavaScript のエラーです。 まず Form1 の中身と TextBox1 の中身を alert でも何でも良いので確認する必要があります。 次に HTML ソースを見て <form> 要素の名前、その <form> 要素の中にある対象の <input type="text"> の名前を確認します。 確認さえすれば自己解決できるかもしれませんね。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Masa
ベテラン
会議室デビュー日: 2007/03/19
投稿数: 65
投稿日時: 2008-09-01 09:41
引用:

じゃんぬねっとさんの書き込み (2008-08-29 14:04) より:
今回のエラーは JavaScript のエラーです。 まず Form1 の中身と TextBox1 の中身を alert でも何でも良いので確認する必要があります。




じゃんぬねっとさん
ありがとうございます。
alertで確認したところForm1がundefined=未定義になっていました。
頭の文字が小文字なのが正解のようでした。

そこで
<body onload="javascript:document.Form1.WebTextEdit_ID.focus();">
と修正し実行したところ以下のようなエラーが発生しました。

エラー:フォーカスをコントロールに移動できません。コントロールは表示されていない、使用できない状態、またはフォーカスを受け取れない種類です。

これはコントロールがロードされる前にフォーカスを設定しようとしてしまっているのでしょうか??

Web開発初心者なため初歩的な質問で申し訳ありません。


※ちなみにいままでTextBox1と書いていましたが本当はInfragistics社のNetAdvantageにあるWebTextEditコントロールを利用しています。




じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-09-01 10:25
引用:

Masaさんの書き込み (2008-09-01 09:41) より:

※ちなみにいままでTextBox1と書いていましたが本当はInfragistics社のNetAdvantageにあるWebTextEditコントロールを利用しています。


HTML ではどう表現されているのでしょうか。

引用:

Web開発初心者なため初歩的な質問で申し訳ありません。


関係ないです。 私も開発したことなんてありませんよ。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Masa
ベテラン
会議室デビュー日: 2007/03/19
投稿数: 65
投稿日時: 2008-09-01 11:52
じゃんぬねっとさん

HTMLですが
フォームでは
<form id="form1" runat="server">

<form> 要素の中にある対象は
<igtxt:WebTextEdit
ID="WebTextEdit_ID" runat="server" Font-Bold="True" Font-Names="Arial" Font-Size="12pt"
Height="24px" MaxLength="4" SelectionOnFocus="SelectAll" Style="ime-mode: disabled"
TabIndex="1" Width="88px">
</igtxt:WebTextEdit>
なお、上記コードはツールを張り付けた時に自動的に生成されていました。


[ メッセージ編集済み 編集者: Masa 編集日時 2008-09-01 11:52 ]

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