下拉列表选日期这么做,用到了isdate()函数,看!
<form id=f>
年<SELECT id=s1 name=s1 ></SELECT>
月<SELECT id=s2 name=s2 onchange="vbs:aaa"></SELECT>
日<SELECT id=s3 name=s3></SELECT>
</form>
<SCRIPT LANGUAGE=vbscript>
'初始年
MyAdd "f.s1",1970,2050
'初始月
MyAdd "f.s2",1,12
'初始日
MyAdd "f.s3",1,31
sub MyAdd(S,x,y)'增加
set obj=eval(S)
for i=x to y
set o=document.createElement("OPTION")
o.text=i
o.value=i
obj.add o
next
end sub
sub MyRemove(S)'删除
set obj=eval(S)
for each opt in obj.options
obj.remove opt.index
next
end sub
sub aaa'自定义过程,用来改变s3日期
dim mydate,maxdate
'先清空全部,最好从28号以后清空,但是这样效率低人感觉不到,偷点懒不是罪
MyRemove "f.s3"
for i=1 to 31
mydate=f.s1.value & "-" & f.s2.value & "-" & i
if isdate(mydate) then '判断是否是有效日期
maxdate=i
else
exit for
end if
next
MyAdd "f.s3",1,maxdate
end sub
</SCRIPT>
<%dim count1
set rs1=server.CreateObject("adodb.recordset")
sql1="select * from lb order by id desc"
rs1.open sql1,conn,1,1
%>
<script language = "JavaScript">
var onecount;
onecount=0;
subcat = new Array();
<%
count1 = 0
do while not rs1.eof
%>
subcat[<%=count1%>] = new Array("<%= trim(rs1("mc"))%>","<%= trim(rs1("sj"))%>","<%=trim(rs1("id"))%>");
<%
count1 = count1 + 1
rs1.movenext
loop
rs1.close
%>
onecount=<%=count1%>;
function changelocation(locationid)
{
document.form1.stypecode.length = 0;
var locationid=locationid;
var i;
for (i=0;i < onecount; i++)
{
if (i== 0)
{
document.form1.stypecode.options[document.form1.stypecode.length] = new Option("选择二类", "");
}
if (subcat[i][1] == locationid)
{
document.form1.stypecode.options[document.form1.stypecode.length] = new Option(subcat[i][0], subcat[i][2]);
}
}
}
</script>
<%dim count2
set rs2=server.CreateObject("adodb.recordset")
sql2="select * from lb order by id desc"
rs2.open sql2,conn,1,1
%>
<script language = "JavaScript">
var onecount2;
onecount2=0;
subcat2 = new Array();
<%
count2 = 0
do while not rs2.eof
%>
subcat2[<%=count2%>] = new Array("<%= trim(rs2("mc"))%>","<%= trim(rs2("sj"))%>","<%=trim(rs2("id"))%>");
<%
count2 = count2 + 1
rs2.movenext
loop
rs2.close
%>
onecount2=<%=count2%>;
function changelocation2(locationid2)
{
document.form1.stypecode2.length = 0;
var locationid2=locationid2;
var i2;
for (i2=0;i2 < onecount2; i2++)
{
if (i2== 0)
{
document.form1.stypecode2.options[document.form1.stypecode2.length] = new Option("选择三类", "");
}
if (subcat[i2][1] == locationid2)
{
document.form1.stypecode2.options[document.form1.stypecode2.length] = new Option(subcat2[i2][0], subcat2[i2][2]);
}
}
}
</script>
</head>
<body><BR><div align="center">
<table width="638" border="0" cellspacing="1" bgcolor="#FF00FF">
<form action="main.asp" name="form1" method="post" >
<%dim rs,sql,selclass
set rs=server.CreateObject("adodb.recordset")
%>
<tr bgcolor="#FFFFFF">
<td align="center" width="134"><font size="2">商品类别</font></td>
<td width="189"><font size="2">一类:
<select name="btypecode" onChange="changelocation(document.form1.btypecode.options[document.form1.btypecode.selectedIndex].value)">
<option value="">选择一类</option>
<%
sql3="select * from lb where jb='1' order by id desc"
rs.open sql3,conn,1,1
%>
<option value="<%=rs("id")%>"><%=rs("mc")%></option>
<%
selclass=rs("id")
rs.movenext
do while not rs.eof%>
<option value="<%=rs("id")%>"><%=rs("mc")%></option>
<%
rs.movenext
loop
rs.close
%>
</select>
</font>
</td>
<td width="190"><font size="2">二类:
<select name="stypecode" onChange="changelocation2(document.form1.stypecode.options[document.form1.stypecode.selectedIndex].value)">
<option value="" selected>选择二类</option>
<%
sql4="select * from lb where jb='2' and sj="&selclass&" order by sj desc"
rs.open sql4,conn,1,1%>
<option value="<%=rs("id")%>" ><%=rs("mc")%></option>
<%
selclass2=rs("id")
rs.movenext
do while not rs.eof%>
<option value="<%=rs("id")%>"><%=rs("mc")%></option>
<%
rs.movenext
loop
rs.close
%>
</select></font></td>
<td width="190"><font size="2">三类:
<select name="stypecode2">
<option value="" selected>选择三类</option> <%
sql4="select * from lb where jb='3' and sj="&selclass2&" order by sj desc"
rs.open sql4,conn,1,1%>
<option value="<%=rs("id")%>" ><%=rs("mc")%></option>
<% rs.movenext
do while not rs.eof%>
<option value="<%=rs("id")%>"><%=rs("mc")%></option>
<%
rs.movenext
loop
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
</select></font></td>
</tr>
</form>
</table>
</div>
</body>
</html>
else
timepicker.style.visibility="hidden"
obj.value="△"
if Calendar1.Day>0 and Calendar1.Month>0 and Calendar1.Year>0 then
getpretext(obj,1).value= Calendar1.Day
getpretext(obj,2).value= Calendar1.Month
getpretext(obj,3).value= Calendar1.Year
end if
end if
end sub
function getpretext(myobj,objnum)
mynum=0
set obj2=myobj.previousSibling
do
if ucase(obj2.nodename)=ucase("input") then
if ucase(obj2.type)=ucase("text") then
mynum=mynum+1
if mynum=objnum then
set getpretext=obj2
exit do
else
set obj2=obj2.previousSibling
end if
else
set obj2=obj2.previousSibling
end if
else
set obj2=obj2.previousSibling
end if
loop
end function
</script>