我正在尝试制作一个倒计时页面,它会显示每个计数的数字,它会从表格中的用户条目中获取数字。
最后它应显示例如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">
</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ä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>
答案 0 :(得分:1)
这里有很多错误。首先,如果then
大于if
,则只会进入f_start
语句的f_goal
子句,然后您只会进入while
的正文如果f_start
小于或等于f_goal
。 else
子句的条件类似。
但它比这更糟糕,因为您使用的是名为f_start
,f_goal
和f_count
的变量,这些变量尚未定义。我认为您打算使用Request.QueryString
中的值,但这不是您正在做的事情。
您可以为l_start
,l_goal
和l_count
分配值,但不会更改它们。您可以修改x
和y
中的值,但不要使用它们。您将未更改的l_start
和l_goal
放回到表单中。
最后,您在理解此代码执行的位置以及脚本中的变量如何与表单相关时似乎存在认知上的脱节。这是在服务器上执行的。您在表单中输入的值将提交给服务器。该脚本运行并且不对表单中传递给它的值执行任何操作。然后它将这些值正确地放回到表单上。