webForumDet fria alternativet

carriage return

14 svar · 603 visningar · startad av Palleman

PallemanMedlem sedan dec. 2000557 inlägg
#1

Har kört fast med en sak och behöver hjälp innan jag blir gråhårig..

Min kod ser ut så här i nerkortad form:

[RED]'// Connect

    strURL = Connect.Execute("SELECT fldURL FROM tblBanner WHERE ID = "& trim(Request.Querystring("id"))).GetString()

'// Disconnect

Response.Write ReRout(strURL)[/RED]

Funktionen ReRout

[RED]Function ReRout(strUrl)

    strUrl = trim(strUrl)
    ReRout = "<script language=""javascript"">window.open('"& strUrl &"');</script>"

End Function[/RED]

Jag ska alltså skicka besökaren till den sida som denne klickat på.
Det som händer när jag kör koden är att jag får ett javascript-fel, Oavslutad strängkonstant

Skriver jag ut strURL får jag fram rätt url, MEN, jag får med ett förbaskat mellanslag sist i url´en, något som javascript-anropet inte alls tycker om..
Kör jag Server.URLEncodestrURL och skriver ut det ser man att %0D kommer med sist i url´en. (carriage return)

Hur sjutton får jag bort den?

Jag har testat att trimma på alla möjliga sorters vis, dock utan resultat.. hilfe!

mikulMedlem sedan aug. 20013 824 inlägg
#2

Blir det så på exakt alla länkar?

/ Mikul

mikulMedlem sedan aug. 20013 824 inlägg
#3

DU skulle ju i så fall kunna göra nåt sånt här:

[RED]Function ReRout(strUrl)

    strUrl = trim(strUrl)
    ReRout = "<script language=""javascript"">window.open('"& Left(strUrl,CInt(Len(Trim(strUrl))-3) &"');</script>"

End Function[/RED]

Eller?

/ Mikul

PallemanMedlem sedan dec. 2000557 inlägg
#4

Svar Ja.. men detta fungerar dock utmärkt:

[red]Response.Write ReRout("http://www.webforum.nu")[/red]
mikulMedlem sedan aug. 20013 824 inlägg
#5

Ojj nu blev det dubbeltrimmat=)

/ Mikul

mikulMedlem sedan aug. 20013 824 inlägg
#6

Dum är jag!
hoppas att du förstod at du skulle ha Server.URLEncode nu också=)

[RED]Function ReRout(strUrl)

    strUrl = trim(Server.URLEncode(strUrl))
    ReRout = "<script language=""javascript"">window.open('"& Left(strUrl,CInt(Len(strUrl)-3)) &"');</script>"

End Function[/RED]

Så menade jag=)

Många svar blir det=)

/ Mikul

PallemanMedlem sedan dec. 2000557 inlägg
#7

Har testat det mesta, dock utan resultat..
Ditt förslag Mikul fungerade inte heller.

mikulMedlem sedan aug. 20013 824 inlägg
#8

Ok...
Replace?

/ Mikul

PallemanMedlem sedan dec. 2000557 inlägg
#9

Fick återgå till en lösning för att komma runt problemet istället för att hitta källan till problemet..

Löste det så här tills vidare:

[RED]Response.Write ReRout(Server.HTMLEncode(Left(strURL,cInt(Len(strURL))-1)))[/RED]

Skulle dock uppskatta om någon kunde förklara för mig varför problemet
endast uppkommer då jag hämtar värdet från databasen.. :)

solbulleMedlem sedan mars 20015 287 inlägg
#10

Palleman skrev:

Svar Ja.. men detta fungerar dock utmärkt:

[red]Response.Write ReRout("http://www.webforum.nu")[/red]

Vad menar du med att det fungerar?

RED. Aha, ok I see.

solbulleMedlem sedan mars 20015 287 inlägg
#11

Är det inte så att värdet kan vara fel i databasen på något sätt då?

PallemanMedlem sedan dec. 2000557 inlägg
#12

Värdet i databasen är korrekt, det är när det hämtas och skrivs ut som problemet uppstår..

nikoMedlem sedan juni 20022 599 inlägg
#13

Default rowdelimiter i GetString är Carriage Return. Det är därifrån det kommer skulle jag tro. Prova att helt enkelt ange en annan delimiter.

nikoMedlem sedan juni 20022 599 inlägg
#14

Om du skriver så här istället så borde din trim räcka:

strURL = Connect.Execute("SELECT fldURL FROM tblBanner WHERE ID = "& trim(Request.Querystring("id"))).GetString(, , , " ")
PallemanMedlem sedan dec. 2000557 inlägg
#15

niko skrev:

Om du skriver så här istället så borde din trim räcka:

strURL = Connect.Execute("SELECT fldURL FROM tblBanner WHERE ID = "& trim(Request.Querystring("id"))).GetString(, , , " ")

Fungerade klockrent!
Det där var intressant vetande, nu vet jag ju orsaken till problemet.
Tack och bock! :) :birp

132 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)