2017-12-07 19 views
1

私はカウントダウンページを作ろうとしています。それは、カウントされたそれぞれの数字を表示し、テーブル内のユーザーエントリから数字を取ります。VBSを使ったカウントダウンasp

最終的には10から1までの数字10,9,8,7,6,5,4,3,2,1が表示されます。

一方、結果が得られますが、カウントアップするだけでカウントダウンする方法は、ループに入りますが、最初の数値だけが表示されます。残りの部分はどのように表示されますか?

  <% 
response.flush 
l_start = request.querystring("f_start") 
l_goal = request.querystring("f_goal") 


%> 

<form action = "countdown.asp" method = "get"> 
    <h1 align = "center">Dies ist ein Zähler!<h1> 
    <table border = "1" align = "center"> 
     <tr> 
     <td> 
      Bitte einen Startwert eingeben. 
     </td> 
     <td> 
      <input type = "number" name = "f_start" value = "<%=l_start%>" 
     </td> 
     <td width = "100"> 
      &nbsp; 
     </td> 
     <td> 
      Bitte einen Zielwert eingeben. 
     </td> 
     <td> 
      <input type = "number" name = "f_goal" value = "<%=l_goal%>" 
     </td> 
     <td> 
      <input type = "submit" value = "Go!" \> 
     </td> 
     </tr> 
     <tr> 
     <td> 
      Gez&auml;hlte Zahlen: 
     </td> 
     <td> 
      <% 
      if request.querystring(("f_start")) < request.querystring(("f_goal")) then 
       For i = l_start To l_goal 
       response.write("" & i & ",") 
       Next 
      else 
       counter = l_start 
       while counter > l_goal 
       response.write(counter) 
       response.write(",") 
       counter = l_start - 1 
       wend 
      end if 
      %> 
     </td> 
     </tr> 
    </table> 
</form> 

答えて

1

ここにはいくつかの問題があります。まず、文のthen句に移動します。f_startf_goalより大きい場合、f_startf_goal以下の場合は、whileの本文にのみ移動します。条件はelse句と同様です。

f_startf_goal、およびf_countという変数が定義されていないため、それよりも悪いです。私はあなたがRequest.QueryStringから値を使用するつもりだと思うが、それはあなたがやっていることではない。

l_start,l_goalおよびl_countに値を割り当てますが、決して変更しないでください。 xyの値を変更しますが、決して使用しないでください。変更されていないl_startl_goalをフォームに戻します。

最後に、このコードの実行場所とスクリプト内の変数がフォームにどのように関係しているかを理解する上で、認識の切り離しがあるようです。これはサーバー上で実行されています。フォームに入力した値がサーバーに送信されます。スクリプトは実行され、フォームから渡された値は何もしません。これらの値をフォームに戻します。

+0

実際、あなたの最後の部分は間違っています。 OPは 'runat =" server "をスクリプトタグに入れなかったので、**クライアント側で**実行されます。現代のブラウザは、[Internet Explorer](https://msdn.microsoft.com/en-us/library/dn384057(v = vs.85).aspx)でも無視されます。 –

+0

だから、もしあなたが、そして、f_goal、f_startはユーザエントリによって定義されるべきです。 - –

+0

質問でasp-classicタグを見て、スクリプトがサーバ上で実行されているという前提を作りました。申し訳ありません。レックス、私はあなたよりもあなたを助けることはできません。このスクリプトがクライアント上で実行されているという事実(Internet Explorerを使用していて、vbscriptを実行するオプションをオンにしていると仮定した場合)は悪化します。 – Craig

関連する問題