- ベストアンサー
テキストボックスへの引数によるフォーカスの設定
こんにちは。 ASP.NET(VB)でサイトを作っています。 ページを表示した時にテキストボックスにフォーカスを設定したいと思っています。 ネットなどで検索していましたら<body onLoad="document.Form.textbox.focus()"> とすれば出来るようなので、実際に設定してみましたら、「'document.form.LoginID'はNullまたはオブジェクトではありません」というエラーが出てしまいます。 どうすればASPのコントロールにフォーカスを設定できますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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>
その他の回答 (1)
- fairy_tink
- ベストアンサー率35% (19/53)
とりあえず出来たようで、よかったです。 ご質問のもう一つ、引数ですが、真意をとられているのかどうかまたも不安ですが、例えば function myfocus(no){ document.forms[0].elements[no].focus() } というようなものを外部のjsファイルにしておき、これをコールして <body onLoad="myfocus(1)"> とやればいいのではないでしょうか。 もちろん、forms[0]も引数をつかって、forms[fno]とかにしても言いかと思いますが。
お礼
今、もう一度やってみたら何故かうまくいきました。 すいません。 textboxっていうのはaspで使用するinputboxです。 <ASP:TextBox runat="server">というふうに使います。
補足
質問タイトルにもしている肝心の引数についてお聞きするのを忘れていました。 onload="document.form.LoginID.focus()"のLoginIDを任意のテキストボックスまたは他のコントロールに変更して使いたいと思った場合はどのように記述したらよいでしょうか? 今の状態でしたら<body>タグに直に書いてますが、スクリプトをスクリプトファイルに独立させて、引数でやりとりして色んなページで使い回しができたら便利なのですが。