2017-12-07 6 views
1

카운트 다운 페이지를 만들려고합니다. 각 카운팅 된 숫자가 표시되고 테이블의 사용자 항목에서 숫자가 표시됩니다.VBS를 사용하여 카운트 다운 ASP (Countdown 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

여기에는 여러 가지 문제가 있습니다. 먼저 이 f_goal보다 큰 경우 if 문의 then 절로 이동 한 다음 보다 작거나 같으면 while의 본문에만 연결하면됩니다. 조건은 else 절과 유사합니다.

그러나 정의되지 않은 f_start, f_goalf_count이라는 변수를 사용하기 때문에 그보다 더 나쁩니다. 나는 당신이 Request.QueryString에서 값을 사용하고자한다고 생각하지만 그것은 당신이하는 것이 아닙니다.

l_start, l_goall_count에 값을 할당하지만 결코 변경하지 마십시오. xy의 값을 수정하지만 절대 사용하지 마십시오. 변경되지 않은 l_startl_goal을 양식에 다시 넣습니다.

마지막으로이 코드가 실행되는 위치와 스크립트의 변수가 양식과 관련되는 방식을 이해하는 데인지 적 연결이 끊어지는 것처럼 보입니다. 이것은 서버에서 실행 중입니다. 양식에 입력 한 값이 서버에 제출됩니다. 스크립트가 실행되고 양식에서 전달 된 값으로 아무 것도하지 않습니다. 그런 다음 해당 값을 다시 폼에 넣습니다.

+0

실제로 마지막 부분이 잘못되었습니다. OP는'runat = "server"'를 script 태그에 넣지 않았으므로 ** 클라이언트 측에서 ** 실행됩니다. 최신 브라우저는 [Internet Explorer] (https://msdn.microsoft.com/en-us/library/dn384057(v=vs.85) .aspx)에서도 무시됩니다. –

+0

그렇다면 if가 불행하지 않거나 잘못되었다는 뜻입니까? 그리고 f_goal, f_start는 사용자 항목에 의해 정의되어야합니다. - –

+0

질문에 asp-classic 태그를 보았고 스크립트가 서버에서 실행되고 있다고 가정했습니다. 미안합니다. 렉스, 너보다 내가 너를 도울 수 없어. 이 스크립트가 클라이언트에서 실행된다는 사실 (Internet Explorer를 사용 중이며 vbscript를 실행하기위한 옵션을 설정했다고 가정 할 경우)이 더 나빠집니다. – Craig