出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

[920] 【補足説明】サーバ・サイドとクライアント・サイドについて
投稿者:北岳さん 2001/11/06 22:03:26
>サーバサイドスクリプトは、サーバ側で処理されユーザサイドスクリプトは、クライアント側で処理されるっていう程度しか分かりません。
 
(基礎中の基礎ですが、私もスクリプトを書いていて、しょっちゅう混乱する部分です。)
 ---------------------------------------------
サーバは、中身がHTMLで拡張子がaspの文書を作って(ここまではサーバ・サイド)クライアントに送り出し、一件落着とします。
送られたあとは、埋め込まれたJavaScriptがどう動作しようが(ここはクライアント・サイド)、サーバには手の届かない場所での話です。
 
if( ret == 0 ) {
document.F1.flg.value = 0;
} else {
document.F1.flg.value = 1;
}
は、送り出されたASP-HTM文中のスクリプトです。
クライアントがflg.value の値をFormやQueryStringでサーバに送り返せば、サーバは改めて次の仕事に取りかかれます。
クライアントが送り返してこない限り、flg.value の値が何であっても、サーバは無関係になります。
-------
ところが<% %> 内に書かれるのは、サーバサイドのスクリプトです。
<% %>は、aspを作るサーバ内部の処理中だけ使用します。
出来あがったaspをクライアントに送り出したら、ご用済み。
 
<% If FLG = 0 Then %>
<!-- 処理 -->
<% End If %>
 
の、<% %>内の記述は、正常なaspならクライアントには出現しません。
(正常でないasp、または拡張子をHTMにすれば、このまま只の文字列としてHTML画面に出てくる可能性はあります。)
--------
要するに
【定石】クライアントに渡ったあとの(中身の実質は)HTML(で、拡張子はasp)では、<% %>の構文は使えません。
【対策】0か1か判断したあとの処理は、クライアント側の(今回の場合は)JavaScript(だけ)で片をつけなければなりません。

JavaScriptでフラグをセットしてその後の処理判定に使用したいんですけど   tamaさん [2001/11/06 18:56:43] [912]
  Re:JavaScriptでフラグをセットしてその後の処理判定に使用したいんですけど   Tomitomiさん [2001/11/06 19:59:27] [913]
    Re:JavaScriptでフラグをセットしてその後の処理判定に使用したいんですけど   tamaさん [2001/11/06 20:26:02] [916]
      Re:JavaScriptでフラグをセットしてその後の処理判定に使用したいんですけど   Tomitomiさん [2001/11/06 21:09:28] [917]
        Re:JavaScriptでフラグをセットしてその後の処理判定に使用したいんですけど   tamaさん [2001/11/06 21:37:31] [919]
          【補足説明】サーバ・サイドとクライアント・サイドについて   北岳さん [2001/11/06 22:03:26] [920]
            Re:【補足説明】サーバ・サイドとクライアント・サイドについて   tamaさん [2001/11/06 22:14:36] [921]
  Re:JavaScriptでフラグをセットしてその後の処理判定に使用したいんですけど   Tomitomiさん [2001/11/06 20:05:16] [914]


TreeBBS For ASP V.0.1.3
Program By YasNet