切换到宽版
  • 257阅读
  • 3回复

[电脑扫盲]请教老师 [复制链接]

上一主题 下一主题
离线伟文

UID: 2129617

 
发帖
6
金币
31
道行
41
原创
0
奖券
0
斑龄
0
道券
0
获奖
0
座驾
设备
摄影级
在线时间: 33(小时)
注册时间: 2020-05-24
最后登录: 2025-01-04

下面asp代码年下拉框中。年份显示1975年到2025年,(startyear=currentyear-50 改-60可显示1965年到2025年)改-70就出错了。请教老师改年份显示1950年到2025年.谢谢!

<%
Response.write "<tr Class=LightTableBody>"&_
        "<td>您的生日<BR>以公历为准</td>"&_
        "<td nowrap><Select name=year size=1>"

currentyear=cint(year(date()))
startyear=currentyear-50

for i=startyear to currentyear
    Response.write "<option value="&i
    if i=currentyear-22 Then Response.write " selected"
    Response.write ">"&i&"</option>"
next

Response.write "</Select> 年 <Select name=month size=1>"

for i=1 to 12
    Response.write "<option value="&i
    if i=6 Then Response.write " selected"
    Response.write ">"&i&"</option>"
next

Response.write "</Select> 月 <Select name=day size=1>"

for i=1 to 31
    Response.write "<option value="&i
    if i=15 Then Response.write " selected"
    Response.write ">"&i&"</option>"
next

Response.write "</Select> 日 **</td></tr>"

%>
山庄提示: 道行不够,道券不够?---☆点此充值☆
 
在线jlwei

UID: 19808

发帖
201
金币
402
道行
89
原创
0
奖券
0
斑龄
0
道券
0
获奖
0
座驾
设备
摄影级
在线时间: 1869(小时)
注册时间: 2005-10-28
最后登录: 2025-02-21
只看该作者 沙发  发表于: 01-08
报什么错啊?这就是几个简单控件,直接写出来啊。为啥还要动态的。
如何不发帖就快速得到金币道行
 
在线fccuuk

UID: 1931957

发帖
106
金币
178
道行
983
原创
0
奖券
0
斑龄
0
道券
0
获奖
0
座驾
设备
摄影级
在线时间: 923(小时)
注册时间: 2014-10-06
最后登录: 2025-02-21
只看该作者 板凳  发表于: 02-13
现在这些代码的问题可以直接扔给Kimi或者豆包,一般多调试几次也都能找到相应的解决方案的。
如何不发帖就快速得到金币道行
 
在线fccuuk

UID: 1931957

发帖
106
金币
178
道行
983
原创
0
奖券
0
斑龄
0
道券
0
获奖
0
座驾
设备
摄影级
在线时间: 923(小时)
注册时间: 2014-10-06
最后登录: 2025-02-21
只看该作者 地板  发表于: 02-13
回 fccuuk 的帖子
fccuuk:现在这些代码的问题可以直接扔给Kimi或者豆包,一般多调试几次也都能找到相应的解决方案的。 (2025-02-13 10:42) 

比如文字是我直接扔给Kimi后它的答案,我也不懂代码啥的,但是我觉得现在AI最强的地方就是编程改代码(毕竟做AI的程序员最方便的就是喂各种程序给AI去理解),所以建议善用现有工具吧。
=======================================================================
要实现显示从1950年到2025年的年份,你需要调整代码中的 startyear 的计算方式。目前代码中 startyear=currentyear-50 是用来计算起始年份的,但如果你想从1950年开始,直接设置 startyear 为1950即可,而不是通过减去一个固定的值来计算。
以下是修改后的代码:
asp复制
<%
Response.write "<tr Class=LightTableBody>" & _
        "<td>您的生日<BR>以公历为准</td>" & _
        "<td nowrap><Select name=year size=1>"

currentyear = cint(year(date()))
startyear = 1950 ' 直接设置起始年份为1950

for i = startyear to currentyear
    Response.write "<option value=" & i
    if i = currentyear - 22 Then Response.write " selected"
    Response.write ">" & i & "</option>"
next

Response.write "</Select> 年 <Select name=month size=1>"

for i = 1 to 12
    Response.write "<option value=" & i
    if i = 6 Then Response.write " selected"
    Response.write ">" & i & "</option>"
next

Response.write "</Select> 月 <Select name=day size=1>"

for i = 1 to 31
    Response.write "<option value=" & i
    if i = 15 Then Response.write " selected"
    Response.write ">" & i & "</option>"
next

Response.write "</Select> 日 **</td></tr>"

%>
修改说明:
直接设置 startyear:
将 startyear = currentyear - 50 改为 startyear = 1950。这样可以直接指定起始年份为1950,而不是通过减去一个固定值来计算。
循环范围:
循环范围从 startyear 到 currentyear,即从1950年到当前年份(2025年)。
注意事项:
如果当前年份是2025年,那么循环范围是从1950到2025。
如果你希望在某个特定年份(比如1950年)被选中,需要调整 if i = currentyear - 22 这一行的逻辑。目前的逻辑是默认选中当前年份减去22年的选项,你可以根据需要调整这个值。
通过这种方式,你可以确保下拉框中显示从1950年到2025年的所有年份。
如何不发帖就快速得到金币道行
 
快速回复
限120 字节
认真回复加分,灌水扣分~
 
上一个 下一个