一个提供用户输入时期的绝好程序之(二)
文章类别:
asp | 发表日期:2008-10-5 20:43:38
DateSelect.asp 创立一个日历格式的。。。
<%@ LANGUAGE="VBSCRIPT" %>
<%
'Code Written by D. Scott Hand
'If any errors are found, please
'e-mail scott_hand@pobox.com with
'the error and the way the error
'was caused
'***Purpose:************
'* This is a page built to show calendar functionality.
'* Description:
'* This is the instantiated file toto
'* allow the user to select a date.
'***********************
If Request.Querystring("Page") <> "" Then
PageName = Request.Querystring("Page")
Session("PageName") = PageName
Else
PageName = Session("PageName")
End If
If Request.Querystring("Form") <> "" Then
FormName = Request.Querystring("Form")
Session("FormName") = FormName
Else
FormName = Session("FormName")
End If
If Request.Querystring("Element") <> "" Then
ElementName = Request.Querystring("Element")
Session("ElementName") = ElementName
Else
ElementName = Session("ElementName")
End If
%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual InterDev 1.0">
<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE>Select Date</TITLE>
</HEAD>
<BODY BGColor="#ded6c5" alink="#526B84" vlink="#526B84" onBlur="javascript:self . focus ();">
<SCRIPT LANGUAGE="javascript">
function calpopulate(dte) {
window.opener.<%=formname & "." & elementname%>.value = dte;
self.close()
}
</SCRIPT>
<%
If IsDate(Request.QueryString("Date")) Then
BuildDate=Request.QueryString("Date")
Else
If Request.Querystring("BMonth") = "" Then
BMonth = Month(Now)
Else
BMonth = Request.Querystring("BMonth")
End If
If Request.QueryString("BYear") <> "" Then
BuildDate = BMonth & "/" & "1" & "/" & _
Request.QueryString("BYear")
Else
BuildDate = BMonth & "/" & "1" & "/" & Right(Year(Now), 2)
End If
End If
Session("CurrentDate")=BuildDate
'This gives the position of weekday for that date
BuildDayValue = Weekday(BuildDate)
CurrentMonth = Month(BuildDate)
%>
<center>
<table>
<tr>
<td colspan="7" align="center">
<hr>
<font size=2><b><%=MonthName(CurrentMonth)%> <%=Year(BuildDate)%></b>
<br>
<%
'BuildDate=DateAdd("d", -1, BuildDate)
If CurrentMonth < 12 then
NextMonth=CurrentMonth+1 & "&BYear=" & Year(BuildDate)
Else
NextMonth="1&BYear=" & Year(DateAdd ("yyyy", 1, BuildDate))
End if
If CurrentMonth > 1 then
PreviousMonth=CurrentMonth-1 & "&BYear=" & Year(BuildDate)
Else
PreviousMonth= "12&BYear=" & Year(DateAdd ("yyyy", -1, BuildDate))
End If
%>
<a href="DateSelect.asp?BMonth=<%=PreviousMonth%>"><font
size=-2><--Previous</a>
<a href="DateSelect.asp?BMonth=<%=NextMonth%>"><font size=-2>Next--></a>
<hr></td>
</tr>
<tr>
<td><font size="-3">Su</td><td><font size="-3">Mo</td><td><font
size="-3">Tu</td><td><font size="-3">We</td><td><font
size="-3">Th</td><td><font size="-3">Fr</td><td><font size="-3">Sa</td>
</tr>
<tr>
<tr>
<%
DayPosition=1
'Now loop through table build with blanks until first day of month
'is in position
For I = 1 to BuildDayValue-1
%>
<td><font size="-3"> </td>
<%
DayPosition=DayPosition+1
Next
Do Until CurrentMonth <> Month(BuildDate)
%>
<%
While DayPosition<>8
%>
<td align="center" <%If Day(BuildDate)=Day(Now) Then Response.Write "bgcolor=""#FFFFFF"""%>
onClick="<%Response.Write "calpopulate('" & Month(BuildDate) & "/" & Day(BuildDate) & "/" & Right(Year
(BuildDate),2)%>')"><font size="-3">
<a href=""><%=Day(BuildDate)%></a>
</td>
<%
DayPosition=DayPosition+1
BuildDate=DateAdd("d", 1, BuildDate)
If CurrentMonth <> Month(BuildDate) then
DayPosition=8
End If
Wend
DayPosition=1
%>
</tr><tr>
<%
Loop
%>
</tr>
</table>
</center>
</BODY>
</HTML>