倒计时asp使用VBS

时间:2017-12-07 10:02:50

标签: asp.net vbscript asp-classic

我正在尝试制作一个倒计时页面,它会显示每个计数的数字,它会从表格中的用户条目中获取数字。

最后它应显示例如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 个答案:

答案 0 :(得分:1)

这里有很多错误。首先,如果then大于if,则只会进入f_start语句的f_goal子句,然后您只会进入while的正文如果f_start小于或等于f_goalelse子句的条件类似。

但它比这更糟糕,因为您使用的是名为f_startf_goalf_count的变量,这些变量尚未定义。我认为您打算使用Request.QueryString中的值,但这不是您正在做的事情。

您可以为l_startl_goall_count分配值,但不会更改它们。您可以修改xy中的值,但不要使用它们。您将未更改的l_startl_goal放回到表单中。

最后,您在理解此代码执行的位置以及脚本中的变量如何与表单相关时似乎存在认知上的脱节。这是在服务器上执行的。您在表单中输入的值将提交给服务器。该脚本运行并且不对表单中传递给它的值执行任何操作。然后它将这些值正确地放回到表单上。