- - PR -
VWD ページロード時にJavascriptを実行したい
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-06-09 19:49
いつもお世話になっております。
環境 Visual Web Developer2005 Express Edition 言語 VisualBasic ところで、ページロード時において、javascriptを実行させたいのですが、 xxxは、Nullまたはオブジェクトではありません。のエラーで困っています。 実際のコード Protected Sub Page_Load(ByVal sender as Object,ByVal e as System.EventArgs) Dim Script as New System.Text.StringBuilder() With Script .Append("<script language='javascript' type='text/javascript'>" & vbCrLf) .Append(vbTab & "document.form22.Text11.value = 'AAA';" & vbCrLf) .Append("</" & "script>") End With ClientScript.RegisterClientScriptBlock(Me.GetType(), "key", Script.ToString) <html> <body> <form name="form22" id="form22" runat="server" > <input name="Text11" id="Text11" type="text" /> </form> </body> </html> 今、テスト的にやっておりますので、コード自体は短い物となっております。 上記の記載方法でどこがダメなのか、悩んでおります。 以上、ズバリ誤りをご指摘して頂ける方、もしくは、解決に導くようなURL先をご提供して頂ける方がおりましたら、よろしくお願いいたします。 |
|
投稿日時: 2008-06-09 21:26
当方では「Nullまたはオブジェクトではありません」とは出ませんが、
RegisterClientScriptBlockはaspxファイルに定義したテキストボックスより先に現れるので load時に実行したらText11にアクセスできない気がします(まだ出来てないから)。 RegisterStartupScriptを使うとどうですか? |
|
投稿日時: 2008-06-10 06:17
<input>タグをTextBoxにするか
<input>タグにrunat="server"を追加してHTMLサーバーコントールにして Page_Loadイベントハンドラで直接書き換えたらどうでしょうか。 <input name="Text11" id="Text11" type="text" runat="server" /> どうしても、JavaScriptで書き換えたいなら IPホンさんが指摘しているようにJavaScriptが<input>タグの後に 生成されるようにする必要があります。 できれば、<body>セクションにJavaScriptを混在させると保守が大変ですから JavaScriptを外部にファイルにすることをお勧めします。 この場合、window.onloadイベントで<input>タグの値を設定します。 _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 |
|
投稿日時: 2008-06-10 09:18
べるさん、Accessさん、
ご返答の程、ありがとうございます。 アドバイス頂きました内容につきまして、テストさせて頂きます。 |
1