- ベストアンサー
VBScrpitで取得した値(trueまたはfalse)で、分岐条件をしたいのですが・・・
下記の参考ソースを見ていただきたいのですが、 dateFunc関数で得たboolean値をもとに、 真なら「success.asp」を、 偽なら「failure.asp」を、 呼び出したいのですが、 何故か両方の関数が呼ばれています。 何故なのでしょうか。 OS:Windows2000 Web:IE6 です。 参考ソース <SCRIPT LANGUAGE="VBScript"> <!-- recDate = dateFunc() If recDate = true Then <% Server.Execute "success.asp"%> Else <% Server.Execute "failure.asp"%> End If --> </SCRIPT>
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
クライアント側のスクリプト内でサーバタグを書いても、 クライアント側に降りてから実行されることはありません。 実行後に生成したページがクライアントに投げられます。 >何故か両方の関数が呼ばれています。 上記の理由で先に実行された結果が降りるからです。 クライアント側で次ページを条件で分岐するなら、 素直に判断記述の中でlocation.replaceさせるのでは?
その他の回答 (1)
- osamuy
- ベストアンサー率42% (1231/2878)
回答No.1
dateFunc()を呼び出すのはクライアント(すなわちWebブラウザ)ですので、サーバ側(すなわちIIS)で処理される<% Server.Execute %>は実行済みです。 dateFunc()をサーバ側で実行する必要があるかと。