Har gjort mitt första försök med radioknappar, men inget händer tyvärr...
Koden ser ut som följer:
ar = Request.Form("Year")
manad = Request.Form("month")
'//för att kolla om val redan gjorts
If len(ar)= 0 Then
ar = Year(Now())
Else
ar = Request.Form("Year")
End IF
If len(manad)= 0 Then
manad = Month(Now())
Else
manad = Request.Form("month")
End IF
%>
<FORM METHOD="POST" ACTION="" >
<INPUT TYPE="RADIO" NAME="prev"> Föregående Månad <BR>
<INPUT TYPE="RADIO" NAME="nasta"> Nästa Månad <BR>
<INPUT TYPE="SUBMIT" VALUE="Visa">
</FORM>
<%
stPrevious = Request("prev")
strNasta = Request("nasta")
If strPrevious = "on" Then
manad = manad - 1
If manad = 0 Then
manad = 12
ar = ar - 1
End If
Response.Write "Om föregående månad: " & manad & "<BR>" & ar & "<BR>"
Else
If strNext = "on" Then
manad = manad + 1
If manad = 13 Then
manad = 1
ar = ar + 1
End If
Response.Write "Om Nästa månad: " & manad & "<BR>" & ar & "<BR><HR>"
End If
End If
Men som sagt så händer inget, inte ens Response.Write satserna skrivs ut
Ändå tycker jag att jag "tänker" rätt...
Jag använder radioknappar för att det bara finns ett val
Eftersom jag inte tilldelar ngn “value” använder jag mig av ”on”
ar = ar
manad = manad
'//för att kolla om val redan gjorts
If len(ar)= 0 Then
ar = Year(Now())
Else
ar = ar
End IF
If len(manad)= 0 Then
manad = Month(Now())
Else
manad = manad
End IF
%>
<FORM METHOD="POST" ACTION="" >
<INPUT TYPE="RADIO" NAME="month" value="prev"> Föregående Månad <BR>
<INPUT TYPE="RADIO" NAME="month" value="next"> Nästa Månad <BR>
<INPUT TYPE="SUBMIT" VALUE="Visa">
</FORM>
<%
stradio = Request("month")
If stradio = "prev" Then
manad = manad - 1
If manad = 0 Then
manad = 12
ar = ar - 1
End If
Response.Write "Om föregående månad: " & manad & "<BR>" & ar & "<BR>"
Else
If stradio = "next" Then
manad = manad + 1
If manad = 13 Then
manad = 1
ar = ar + 1
End If
Response.Write "Om Nästa månad: " & manad & "<BR>" & ar & "<BR><HR>"
End If
End If %>
radioknappar har samma namn men olika värde, därför kan man gruppera dem...
Tack hopparn,
det funkar men inte tillfredställnade... kolla här
Första gången sidan laddas, så fungerar både framåt och bakåt
Man om jag från juli (dvs ett steg bakåt) vill gå ett steg framåt, då hamnar jag på september - vilket är iof ett steg från dagens månad, men inte ett steg framåt från juli....
Om jag klickar bakåt från juli (dvs 2 steg från "början") - händer inget
Gå till januari - klicka på nästa - då blir det september - i stället för februari
klicka på föregående - då blir det juli - i stället för december, 2002
Var någonstans tar du emot värdena som skickas så att de spara tills nästa gång man skickar sidan? Så som det ser ut nu kommer det ju inte att funka. Testa det här.
ar = request.form("actYear")
manad = request.form("actMonth")
stradio = Request("month")
'//för att kolla om val redan gjorts
If len(ar)= 0 Then
ar = Year(Now())
Else
ar = ar
End IF
If len(manad)= 0 Then
manad = Month(Now())
Else
manad = manad
End IF
If stradio = "prev" Then
manad = manad - 1
If manad = 0 Then
manad = 12
ar = ar - 1
End If
action = "prev"
Elseif stradio = "next" Then
manad = manad + 1
If manad = 13 Then
manad = 1
ar = ar + 1
End If
action = "next"
End If
%>
<FORM METHOD="POST" ACTION="" >
<INPUT TYPE="RADIO" NAME="month" value="prev"> Föregående Månad <BR>
<INPUT TYPE="RADIO" NAME="month" value="next"> Nästa Månad <BR>
<INPUT TYPE="hidden" NAME="actMonth" value="<% =manad %>">
<INPUT TYPE="hidden" NAME="actYear" value="<% =ar %>">
<INPUT TYPE="SUBMIT" VALUE="Visa">
</form>
<%
if action = "prev" then
Response.Write "Om föregående månad: " & manad & "<BR>" & ar & "<BR>"
else
Response.Write "Om Nästa månad: " & manad & "<BR>" & ar & "<BR><HR>"
end if
%>
Var någonstans tar du emot värdena som skickas så att de spara tills nästa gång man skickar sidan?
Hur menar du?
Ett problem är att så som jag har tänkt så skall man kunna välja månad från en "drop-down" och år genom att hellt enkelt skriva in året i en "textruta".
Med de relevanta kodbitarna
<%
ar = Request.Form("Year")
manad = Request.Form("month")
'//för att kolla om val redan gjorts
If len(ar)= 0 Then
ar = Year(Now())
Else
ar = Request.Form("Year")
End IF
If len(manad)= 0 Then
manad = Month(Now())
Else
manad = Request.Form("month")
End IF
dNewDate = ar & "-" & manad & "-" & iDag
For iDag = 1 to DatePart("d", DateSerial(ar, manad+1, 0))
aDagar(iDag) = WeekDayName(DatePart("w",ar & "-" & manad & "-" & iDag))
iWeekDay = DatePart("w",ar & "-" & manad & "-" & iDag)
%>
<FORM ACTION="" METHOD="post">
<TABLE WIDTH="500" BORDER="1" ALIGN="CENTER" CELLPADDING="1" CELLSPACING="1" ID="val">
<TR>
<TD WIDTH="119" HEIGHT="30"><CENTER>
Välj År (ÅÅÅÅ)</CENTER></TD>
<TD WIDTH="50" HEIGHT="30"> <DIV ALIGN="LEFT">
<INPUT NAME="Year" TYPE="text" SIZE="10" MAXLENGTH="4">
</DIV></TD>
<TD><CENTER>Välj Månad
</CENTER></TD>
<TD><SELECT NAME="month" SIZE="1">
<OPTION VALUE="1">Januari</OPTION>
<OPTION VALUE="2">Februari</OPTION>
<OPTION VALUE="3">Mars</OPTION>
<OPTION VALUE="4">April</OPTION>
<OPTION VALUE="5">Maj</OPTION>
<OPTION VALUE="6">Juni</OPTION>
<OPTION VALUE="7">Juli</OPTION>
<OPTION VALUE="8">Augusti</OPTION>
<OPTION VALUE="9">September</OPTION>
<OPTION VALUE="10">Oktober</OPTION>
<OPTION VALUE="11">November</OPTION>
<OPTION VALUE="12">December</OPTION>
</SELECT></TD>
</TR>
<TR>
<TD COLSPAN="4" HEIGHT="30"> <DIV ALIGN="RIGHT">
<INPUT TYPE="submit" NAME="Submit" VALUE="Visa Almanacka">
</DIV></TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
</BODY>
</HTML>
Vet jag inte riktigt vart OveRRidE´s förslag skall "få plats"
Kanske kan/bör man lösa det hela genom att skicka radioknapparna till en egen sida, och där ersätta koden med OveRRidE´s förslag??
ar = request.form("actYear")
manad = request.form("actMonth")
stradio = Request("month")
bara gäller om ngn av radioknapparna är markerade, har jag gjort nedanstående förslag
<%
ar = Request.Form("Year")
manad = Request.Form("month")
'//för att kolla om val redan gjorts
If len(ar)= 0 Then
ar = Year(Now())
Else
ar = Request.Form("Year")
End IF
If len(manad)= 0 Then
manad = Month(Now())
Else
manad = Request.Form("month")
End IF
If stradio = "prev" Then
ar = request.form("actYear")
manad = request.form("actMonth")
stradio = Request("month")
manad = manad - 1
manad = manad - 1
If manad = 0 Then
manad = 12
ar = ar - 1
End If
action = "prev"
Elseif stradio = "next" Then
ar = request.form("actYear")
manad = request.form("actMonth")
stradio = Request("month")
manad = manad + 1
If manad = 13 Then
manad = 1
ar = ar + 1
End If
action = "next"
End If
%>
<FORM METHOD="POST" ACTION="" >
<INPUT TYPE="RADIO" NAME="month" value="prev"> Föregående Månad <BR>
<INPUT TYPE="RADIO" NAME="month" value="next"> Nästa Månad <BR>
<INPUT TYPE="hidden" NAME="actMonth" value="<% =manad %>">
<INPUT TYPE="hidden" NAME="actYear" value="<% =ar %>">
<INPUT TYPE="SUBMIT" VALUE="Visa">
</form>
<%
if action = "prev" then
Response.Write "Om föregående månad: " & manad & "<BR>" & ar & "<BR>"
else
Response.Write "Om Nästa månad: " & manad & "<BR>" & ar & "<BR><HR>"
end if
%>
Detta sätter dock manad = prev eller manad = next...
Nu har jag hållit på med detta hela kvällen igår, och dagen idag - tur att jag hade ledig dag från jobbet ;)
För att inte inlägget skall bli så långt så bifogar jag koden i kod.zip
Om jag fattade era råd rätt - så har jag gjort två sidor:
skrivbords.asp - den sida där man väljer år och månad via formulär
skrivbords2.asp - den sida som man hamnar på när man vill blädra fram och tillbaka
Radioknapparna på skrivbords.asp fungerar bra - det kontollerade jag med Response.Write. då ACTION="".
Nu till problemet som jag inte har lyckats trots OveRRidE´hjälp. Till mitt misslyckande bidrar även att jag inte riktigt förstår hur jag skall lösa det hela:
Jag har ställt ACTION="skrivbords2.asp"
Det jag vill göra - och hoppas att jag gör - är att manad och ar tar med sig det värde som tilldelades med markeringen av radioknappen.
Sedan nästa gång jag markerar en av radioknapparna, så används det värde på manad och ar som tilldelats i förra omgången ( i punkt 1)
]och fortsätter sålänge jag använder mig utav radioknapparna
Eftersom jag ger alla formfält som kan innehålla månaden samma namn så behövs det ju ingen koll just på ett separat formelement.
Kommer det ingen månad postad så används Now().
271 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25