- - PR -
vb.netからjavascriptを出力する時にエラーが出ます。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-11-01 11:36
お世話になります。
いろいろ調べてみたのですが、お手上げ状態になっているので どなたか解決の糸口でもよいのでお教えください。 環境は、 Windows 2000 .Net 2003 です。 VB側でjavascriptを使い、actionで指定のURLへ飛びたいのです。 html側 <HTML> <body onload="test()"> <form name="MyForm" method="post" runat="server"> </form> </body> </HTML> VB側 ページロードに記述 Dim scriptString As String = "<script language=JavaScript1.2>function test(){" scriptString += "document.forms[0].action=/test1/index.aspx;" scriptString += "document.forms[0].submit();" scriptString += "}</script>" '出力 Page.RegisterClientScriptBlock("clientScript", scriptString) html側で特に問題はないと思うのですが、 実行するとページでエラーが発生し、 「オブジェクトを指定してください」というエラーが出てしまいます。 javascriptは初心者なので記述の仕方がまずいのかなと思うのですが なにがまずいのかも分からず止まっています。 どなたかご教授をお願いします。 | ||||
|
投稿日時: 2004-11-01 11:56
IEの設定で[スクリプトのデバッグを使用しない]をoffにしてみましょう。 http://support.microsoft.com/default.aspx?scid=kb;ja;816173 | ||||
|
投稿日時: 2004-11-01 11:59
actionに設定している値をシングルクウォートで括ってあげてもだめですか? こちらはそれで動きました。 ×scriptString += "document.forms[0].action=/test1/index.aspx;" ○scriptString += "document.forms[0].action='/test1/index.aspx';" | ||||
|
投稿日時: 2004-11-01 13:15
todoさん、怜さんありがとうございました。
todoさんのご返答より引用:---------------------------------------------------- IEの設定で[スクリプトのデバッグを使用しない]をoffにしてみましょう。 ---------------------------------------------------------------------------- offにしてみました。 やはり、VB側のjavascriptに問題があるみたいですが、原因解明には至らずでした。 でも、このデバックの方法は知らなかったので、勉強になりました。 ありがとうございます。 怜さんのご返答より引用:------------------------------------------------------ actionに設定している値をシングルクウォートで括ってあげてもだめですか? こちらはそれで動きました。 ×scriptString += "document.forms[0].action=/test1/index.aspx;" ○scriptString += "document.forms[0].action='/test1/index.aspx';" ---------------------------------------------------------------------------- シングルクォ−テ−ションで括ってみました。 「オブジェクトを指定してください」というエラーは出なくなりました。 ありがとうございます。 ただ、別のエラーが起こってしまって........。 技術的なことではないと思いますので、自分で考えてみたいと思います。 todoさん、怜さんありがとうございました。 | ||||
|
投稿日時: 2004-11-01 14:07
発言者であるシロさん自身がご自分で考えるといっている以上、これ以上の書き込みは余計なお世話かもと思ったのですが、当方でもシロさんの所で発生したと思われるエラーが発生しました。 発生した内容は「例外の詳細: System.Web.HttpException: データを検証できません。」と言う物です。 考えてみると呼び出した自分自身以外に対して行っているPostBackが原因のような気がします。 詳しくは調べていないので確証はありませんが。 今まで自分以外に対してSubmitを行った事が無かったので気がつきませんでしたが、ASP.NETって自分以外へのSubmitってありなんでしょうか? 質問に対して別の質問を書き込むのもどうかと思いましたが、ふと気になったもので書いてしまいました。 全然関係ないものでしたらすいません。 一応情報までに。 | ||||
|
投稿日時: 2004-11-01 15:23
怜さん、ありがとうございました。
そこまで調べて頂いて感謝感激です。 引用:-------------------------------------------------------------------------- 今まで自分以外に対してSubmitを行った事が無かったので気がつきませんでしたが、ASP.NETって自分以外へのSubmitってありなんでしょうか? ------------------------------------------------------------------------------- 怜さんがおっしゃるとおりsubmitが原因のようです。 そもそもこのやり方自体に無理があったみたいで....。 buttonを一つ設けて、onloadでそのボタンをクリックして、Response.Redirect()で 指定のURLに飛ばしました。 時間があれば、怜さんの質問を調べてみたいと思います。 僕も気になりますので....。 お時間を取っていただきありがとうございました。 |
1