|
出来るのだASP Q&A掲示板(過去LOG)
訪問数 52046
昨日 889
今日 776 【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。 |
Topに戻る
掲示板に戻る
検索
削除
管理者
|
![]()
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]
|
| [912] JavaScriptでフラグをセットしてその後の処理判定に使用したいんですけど |
| 投稿者:tamaさん 2001/11/06 18:56:43 |
| いつも、おせわになっています、tamaです。 <form method="POST" name="F1"> <script language=JavaScript> <!-- /* retはある関数の戻り値です */ if( ret == 0 ) { document.F1.flg.value = 0; } else { document.F1.flg.value = 1; } --> </script> <% If FLG = 0 Then %> <!-- 処理 --> <% End If %> <input type="hidden" value="<%= FLG %>" name="flg" > </form> JavaScriptである関数の戻り値が0の場合はFLGを0または戻り値が1の場合は1を書き込み、FLGが0の時だけある処理を行いたいんですけど、うまく判定してくれません。 この記述ではだめなのでしょうか?どなたか、教えてもらえませんか? |
| [913] Re:JavaScriptでフラグをセットしてその後の処理判定に使用したいんですけど |
| 投稿者:Tomitomiさん 2001/11/06 19:59:27 |
| こんばんは、おなかすいたなーTomitomiです。 > <form method="POST" name="F1"> > > <script language=JavaScript> > <!-- > /* retはある関数の戻り値です */ > if( ret == 0 ) { > document.F1.flg.value = 0; > } else { > document.F1.flg.value = 1; > } > --> > </script> > > <% If FLG = 0 Then %> > <!-- 処理 --> > <% End If %> > <input type="hidden" value="<%= FLG %>" name="flg" > > </form> > > JavaScriptである関数の戻り値が0の場合はFLGを0または戻り値が1の場合は1を書き込み、FLGが0の時だけある処理を行いたいんですけど、うまく判定してくれません。 > この記述ではだめなのでしょうか?どなたか、教えてもらえませんか? 記述は問題ないように見えます。 しかし、「ret 」が気になります。ある関数の戻り値とありますが、 「ret 」はグローバル宣言してますか? |
| [916] Re:JavaScriptでフラグをセットしてその後の処理判定に使用したいんですけど |
| 投稿者:tamaさん 2001/11/06 20:26:02 |
| Tomitomiさん、お返事ありがとうございます。 <form method="POST" name="F1"> <select name="A1"> <% For i=0 To データベースより取得した件数 %> <script language=JavaScript> <!-- /* retはある関数の戻り値です */ if( ret == 0 ) { document.F1.flg.value = 0; } else { document.F1.flg.value = 1; } --> </script> <% If FLG = 0 Then %> <option value="データ" > データ </option> <% End If %> <% Next %> </select> <input type="text" value="<%= FLG %>" name="flg" > </form> hidden←textにしてテストしてみたんですけど、なぜかループの最後だけに"1"が表示されます。データベースから取得した分ループさせて、ある条件の時に一覧表示させたいんですけどFLGに書き込みが出来てないんですかね? retはグローバル宣言していません。グローバル宣言の仕方がわかりません(すみません、馬鹿な質問で)。でも、if文は正常に機能しています。 |
| [917] Re:JavaScriptでフラグをセットしてその後の処理判定に使用したいんですけど |
| 投稿者:Tomitomiさん 2001/11/06 21:09:28 |
| こんばんわ、残業中です。Tomitomiです。w > <form method="POST" name="F1"> > <select name="A1"> > <% For i=0 To データベースより取得した件数 %> > <script language=JavaScript> > <!-- > /* retはある関数の戻り値です */ > if( ret == 0 ) { > document.F1.flg.value = 0; > } else { > document.F1.flg.value = 1; > } > --> > </script> > <% If FLG = 0 Then %> > <option value="データ" > データ > </option> > <% End If %> > <% Next %> > </select> > <input type="text" value="<%= FLG %>" name="flg" > > </form> > > hidden←textにしてテストしてみたんですけど、なぜかループの最後だけに"1"が表示されます。データベースから取得した分ループさせて、ある条件の時に一覧表示させたいんですけどFLGに書き込みが出来てないんですかね? > > retはグローバル宣言していません。グローバル宣言の仕方がわかりません(すみません、馬鹿な質問で)。でも、if文は正常に機能しています。 なんかわかったような気がします。 まず、グローバル宣言は、ファンクション部以外で、var 変数; と宣言すればいいだけです。 それで本題ですが、まず上記のプログラムの順番で。 JavaScript ループ処理 隠し項目へ書き込み処理。 ですよね?プログラムの順番はこうでも、 ASP(サーバサイドスクリプト)とJavaScript(ユーザサイドスクリプト)では、ASPが先に処理されますよね?←*正確な文言ではありません。 ループ後に1が入るというのは、ASP完了後、JavaSctiptが実行されて、retには何も入っていないので、1が入っていると思われます。 サーバサイドスクリプトとユーザサイドスクリプトの違いは、わかるでしょうか? もし、わかりましたら、失礼をごめん。 |
| [919] Re:JavaScriptでフラグをセットしてその後の処理判定に使用したいんですけど |
| 投稿者:tamaさん 2001/11/06 21:37:31 |
| 残業中おつかれさまです。 サーバサイドスクリプトは、サーバ側で処理されユーザサイドスクリプトは、クライアント側で処理されるっていう程度しか分かりません。 ASPが先に処理されてるので、JavaScriptで条件を判定して、取得したデータのうち表示したいデータのみを判断させたいと思っていたんですけど、無理なんですね。(残念) |
| [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(だけ)で片をつけなければなりません。 |
| [921] Re:【補足説明】サーバ・サイドとクライアント・サイドについて |
| 投稿者:tamaさん 2001/11/06 22:14:36 |
| 北岳さん、すごく丁寧に返答くれてありがとうございます。 クライアント側でなんとか片付けてみます。 |
| [914] Re:JavaScriptでフラグをセットしてその後の処理判定に使用したいんですけど |
| 投稿者:Tomitomiさん 2001/11/06 20:05:16 |
| こんばんわ、Tomitomiです。 ごめんなさい。追加です。 > <input type="hidden" value="<%= FLG %>" name="flg" > これを開発中は、type="text"としてください。 そのほうが値が見れるので開発しやすいです。 |
|
TreeBBS For ASP V.0.1.3 |