• ベストアンサー

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>

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

  • ベストアンサー
  • sam_inoue
  • ベストアンサー率47% (27/57)
回答No.2

クライアント側のスクリプト内でサーバタグを書いても、 クライアント側に降りてから実行されることはありません。 実行後に生成したページがクライアントに投げられます。 >何故か両方の関数が呼ばれています。 上記の理由で先に実行された結果が降りるからです。 クライアント側で次ページを条件で分岐するなら、 素直に判断記述の中でlocation.replaceさせるのでは?

その他の回答 (1)

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

dateFunc()を呼び出すのはクライアント(すなわちWebブラウザ)ですので、サーバ側(すなわちIIS)で処理される<% Server.Execute %>は実行済みです。 dateFunc()をサーバ側で実行する必要があるかと。

関連するQ&A