PallemanMedlem sedan dec. 2000557 inlägg 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.URLEncode på strURL 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 Blir det så på exakt alla länkar?
/ Mikul
mikulMedlem sedan aug. 20013 824 inlägg 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 Svar Ja.. men detta fungerar dock utmärkt:
[red]Response.Write ReRout("http://www.webforum.nu")[/red]
mikulMedlem sedan aug. 20013 824 inlägg Ojj nu blev det dubbeltrimmat=)
/ Mikul
mikulMedlem sedan aug. 20013 824 inlägg 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 Har testat det mesta, dock utan resultat..
Ditt förslag Mikul fungerade inte heller.
PallemanMedlem sedan dec. 2000557 inlägg 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
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 Är det inte så att värdet kan vara fel i databasen på något sätt då?
PallemanMedlem sedan dec. 2000557 inlägg 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 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 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
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