• ベストアンサー

テキストボックスへの引数によるフォーカスの設定

こんにちは。 ASP.NET(VB)でサイトを作っています。 ページを表示した時にテキストボックスにフォーカスを設定したいと思っています。 ネットなどで検索していましたら<body onLoad="document.Form.textbox.focus()"> とすれば出来るようなので、実際に設定してみましたら、「'document.form.LoginID'はNullまたはオブジェクトではありません」というエラーが出てしまいます。 どうすればASPのコントロールにフォーカスを設定できますか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

textboxってなんでしょうか? <input type="text">のことですか? それとも <textarea>でしょうか? <textarea>では、以下のようにしたら、問題なくできました。 <input type="text">でも試しましたが大丈夫ですが・・・ .NETについては知らないので見当違いでしたらごめんなさい。 <HEAD> <TITLE>Sample</TITLE> </HEAD> <body onLoad="document.forms[0].area2.focus()"> <FORM> <textarea name="area1"></textarea> <textarea name="area2"></textarea> </FORM> </BODY></HTML>

ha3y
質問者

お礼

今、もう一度やってみたら何故かうまくいきました。 すいません。 textboxっていうのはaspで使用するinputboxです。 <ASP:TextBox runat="server">というふうに使います。

ha3y
質問者

補足

質問タイトルにもしている肝心の引数についてお聞きするのを忘れていました。 onload="document.form.LoginID.focus()"のLoginIDを任意のテキストボックスまたは他のコントロールに変更して使いたいと思った場合はどのように記述したらよいでしょうか? 今の状態でしたら<body>タグに直に書いてますが、スクリプトをスクリプトファイルに独立させて、引数でやりとりして色んなページで使い回しができたら便利なのですが。

その他の回答 (1)

回答No.2

とりあえず出来たようで、よかったです。 ご質問のもう一つ、引数ですが、真意をとられているのかどうかまたも不安ですが、例えば function myfocus(no){ document.forms[0].elements[no].focus() } というようなものを外部のjsファイルにしておき、これをコールして <body onLoad="myfocus(1)"> とやればいいのではないでしょうか。 もちろん、forms[0]も引数をつかって、forms[fno]とかにしても言いかと思いますが。

関連するQ&A

専門家に質問してみよう