webForumDet fria alternativet

Hjälp med IF satser!

ASP

16 svar · 413 visningar · startad av Coccozz

Medlem sedan apr. 20032 072 inlägg
Frågan#1

Hej!
Håller på och pular med mina olika satser, har dock fullständigt fastnat i mina if satser.

If datepart(d, date) = MonDay Then response.Write(""<script>parent.inn.location.href='weekkalendinside.asp?dd=" & MonDay & "&mm=" & MonMonth & "&yy=" & MonYear & "';</script>"") End If
If datepart(d, date) = TueDay Then response.Write(""<script>parent.inn.location.href='weekkalendinside.asp?dd=" & TueDay & "&mm=" & TueMonth & "&yy=" & TueYear & "';</script>"") End If

Förstår att inte detta stämmer, eftersom jag får felmeddelandet:

Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A03EA)
Syntaxfel
/weekkalendinside.asp, line 39, column 85
If datepart(d, date) = MonDay Then response.Write(""<script>parent.inn.location.href='weekkalendinside.asp?dd=" & MonDay & "&mm=" & MonMonth & "&yy=" & MonYear & "';</script>"") End If
------------------------------------------------------------------------------------^

Anar att det är alla dubbelfnuttar & enkelfnuttar i länken som håller på och dummar sig. Är inget vidare på det här så det vore bra med lite hjälp.
Skulle dessutom vilja ha ett svar på om det inte går att sätta ihop satserna med t.ex. ett ELSE istället för att avsluta de med END IF, med tanke på att jag har fem stycken till.
Jaja, är som sagt lite n00b på ASP så det är möjligt att det inte går, men jag har för mig att det ska gå.
Tack // Christoffer

Medlem sedan jan. 2004128 inlägg
#2
If datepart(d, date) = MonDay Then response.Write("<script>parent.inn.location.href='weekkalendinside.asp?dd=" & MonDay & "&mm=" & MonMonth & "&yy=" & MonYear & "';</script>")
If datepart(d, date) = TueDay Then response.Write("<script>parent.inn.location.href='weekkalendinside.asp?dd=" & TueDay & "&mm=" & TueMonth & "&yy=" & TueYear & "';</script>")

Observera att jag tog bort din "End If" då dom inte behövs när If-satserna endast ligger på en rad.

Medlem sedan apr. 20032 072 inlägg
#3

Okej!
Nu fungerar if satserna strålande, men nu behöver jag istället hjälp med att förstå varför inte scriptet fungerar och redirectar till sidan igen med dessa olika sessioner?
För övrigt såg jag att jag hade glömt dubbelfnuttarna kring d i datepart. Är nu åtgärdat

Medlem sedan jan. 2004128 inlägg
#4

Prova att byta ut

parent.inn.location.href

mot

parent.location.href
Medlem sedan apr. 20032 072 inlägg
#5

Fungerar inte :(
Oavsett så tror jag att inn ska stå kvar efterom den bestämmer i vilken ram sidan skall laddas i.
Varför fungerar inte scriptet? Har det på ett annat ställe i koden där det fungerar super.
Är det IF-satsen det är fel på?

If datepart("d", date) = MonDay Then response.Write("<script>parent.inn.location.href='weekkalendinside.asp?dd=" & MonDay & "&mm=" & MonMonth & "&yy=" & MonYear & "';</script>")

HJÄLP!

Medlem sedan apr. 20032 072 inlägg
#6

Ingen som vet?

Medlem sedan jan. 2004128 inlägg
#7

Prova bara

inn.location.href
Medlem sedan juni 200032 967 inlägg
#8

Hur ser javascriptet ut när det hamnar i browsern då?

Medlem sedan apr. 20032 072 inlägg
#9

Det har jag inte en aning om, men jag vet att det fungerar på en annan sida jag har.
I vilket fall så beslutade jag att strunta i javascriptet nu eftersom det bara gjorde det jobbigare. Kanske får komma tillbaka senare när jag orkar lägga ner mer tid på det.
Nu gjorde jag såhär istället.
Jag gjorde en startsida till ramen och tilldelade den denna kod:

<%
startdate=now
startdate=startdate-datepart("w", now(),2)+1

MonDay = DatePart("d", startdate+0)
TueDay = DatePart("d", startdate+1)
WedDay = DatePart("d", startdate+2)
ThuDay = DatePart("d", startdate+3)
FriDay = DatePart("d", startdate+4)
SatDay = DatePart("d", startdate+5)
SunDay = DatePart("d", startdate+6)

MonMonth = DatePart("m", startdate+0)
TueMonth = DatePart("m", startdate+1)
WedMonth = DatePart("m", startdate+2)
ThuMonth = DatePart("m", startdate+3)
FriMonth = DatePart("m", startdate+4)
SatMonth = DatePart("m", startdate+5)
SunMonth = DatePart("m", startdate+6)

MonYear = DatePart("yyyy", startdate+0)
TueYear = DatePart("yyyy", startdate+1)
WedYear = DatePart("yyyy", startdate+2)
ThuYear = DatePart("yyyy", startdate+3)
FriYear = DatePart("yyyy", startdate+4)
SatYear = DatePart("yyyy", startdate+5)
SunYear = DatePart("yyyy", startdate+6)

If datepart("d", date) = "MonDay" Then response.redirect 'weekkalendinside.asp?dd=" & MonDay & "&mm=" & MonMonth & "&yy=" & MonYear & "'
If datepart("d", date) = "TueDay" Then response.redirect 'weekkalendinside.asp?dd=" & TueDay & "&mm=" & TueMonth & "&yy=" & TueYear & "'
If datepart("d", date) = "WedDay" Then response.redirect 'weekkalendinside.asp?dd=" & WedDay & "&mm=" & WedMonth & "&yy=" & WedYear & "'
If datepart("d", date) = "ThuDay" Then response.redirect 'weekkalendinside.asp?dd=" & ThuDay & "&mm=" & ThuMonth & "&yy=" & ThuYear & "'
If datepart("d", date) = "FriDay" Then response.redirect 'weekkalendinside.asp?dd=" & FriDay & "&mm=" & FriMonth & "&yy=" & FriYear & "'
If datepart("d", date) = "SatDay" Then response.redirect 'weekkalendinside.asp?dd=" & SatDay & "&mm=" & SatMonth & "&yy=" & SatYear & "'
If datepart("d", date) = "SunDay" Then response.redirect 'weekkalendinside.asp?dd=" & SunDay & "&mm=" & SunMonth & "&yy=" & SunYear & "'
%>

Tanken är att den skall jämföra dagens datum (endast siffran, 1 idag) med de olika strängarna MonDay, TueDay osv. och sedan skicka iväg besökaren till sidan weekalendinside.asp och då ha satt sessionerna till det som ger dagens datum.
Tror och hoppas att ni förstår när ni ser koden.
Problemet är att den inte gör det nu, den gör inget alls.
Får inget flemeddelande, men det händer inget.
Vad har jag gjort fel?
Tack//Christoffer

Medlem sedan juni 200032 967 inlägg
#10
  1. Du har citationstecken runt MonDay, TueDay etc i dina ifsatser. Bort.
  2. Du har apostrofer runt URL:en i din response.redirect. Du skall använda citationstecken. Apostrofer betyder kommentar i VBScript.
Medlem sedan apr. 20032 072 inlägg
#11

Har nu satt ihop det såhär.

If datepart("d", date) = MonDay Then response.redirect "weekkalendinside.asp?dd="" & MonDay & ""&mm="" & MonMonth & ""&yy="" & MonYear & """

Det fungerar strålande utom en sak som är av ganska stor vikt.
MonDay ersätts inte av den strängens värde i länken utan istället skrivs den färdiga länken såhär:

[url]http://localhost/weekkalendinside.asp?dd=[/url]"%20&%20WedDay%20&%20"&mm="%20&%20WedMonth%20&%20"&yy="%20&%20WedYear%20&%20"

Vilket är fel eftersom den skall skriva

[url]http://localhost/weekkalendinside.asp?dd=[/url]"2"&mm="3"&yy="2005"

Varför gör den inte det? Vad har jag gjort fel nu?
Hjälp och visa gärna hur ni menar :D
Tack//

Medlem sedan apr. 20031 660 inlägg
#12

HEJ!

Ta bort en fnutt runt varje variabel.
Du behöver inte ha några på slutet heller.

Som du gör nu infogar du strängen MonDay med mellanslag i länken istället, som du ser.

Coccozz skrev:

Vilket är fel eftersom den skall skriva

http://localhost/weekkalendinside.asp?dd="2"&mm="3"&yy="2005"

Ska den abslout inte göra, varför ska du ha fnuttar där?
Det har man inte!

Medlem sedan juni 200032 967 inlägg
#13

Du har ju två citationstecken på alla ställen när du skriver url:en. Det ska vara vara ett.

(Du ska inte ha citationstecken runt värdena i den färdiga url:en)

mvh

Medlem sedan apr. 20032 072 inlägg
#14

Men om jag bara har ett så avbryter väl det response.redirect? Eller? :o

Medlem sedan juni 200032 967 inlägg
#15

nej, hela raden tolkas med dina konkateneringar.

Medlem sedan apr. 20032 072 inlägg
#16

konka..vaddå? :P
Jaja, ska pröva detta när jag kommer hem om tjugo minuter och återkommer sedan. :D

Medlem sedan apr. 20032 072 inlägg
#17

Gracie (stavning?), nu funkar det precis så som det skall :D
Har dock vissa problem med sidan den hänvisar till, men jag tror jag kan lösa det själv. Om inte, så återkommer jag här på wF.
Tack igen//

253 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)