Jag försöker skicka en parameter till en funktion, och den parametern innehåller ett + tecken
<a href="javascript: searchTrip('12345+67890')">
Strängen genereras från en JSP sida (mindre viktigt) och för att det inte ska bli ett ' ' så trodde jag var tvungen att översätta det
kör en URLkodare (som tar bort konstinga tecken) .. .tror + blir %2 bl.a.
<a href="javascript: searchTrip('12345%267890')">
Detta är ju bra. Men webläsaren (IE, inte NS) översätter ju %2 när han skickar det till funktionen, så tas det emot som ett plus igen...
function searchTrip(rowid)
{
eval("document.location='nextStep.jsp?searchrow="+rowid+"'");
}
Det betyder att när jag skickar användaren till nextStep.jsp så kommer searchrow=12345 67890, alltså ett mellanrum (+ i URLen blir ju det), och jag kommer få fel.
Funktionen test gör det jag vill ska göras (och jag använder den temporärt), men jag vill att det ska skickas som %2B...
Trycker man på länken vill jag alltså att det ska stå test.asp?test=12345%2B67890
Det är det som kommer från JSP scriptet och det är så jag vill skicka det, men IE gör om det så att ett + tecken skickas in...
Vill du att adress-raden skall lyda "test.asp?test=12345%2B67890" skall du inte använda escape. Vill du att svaret från <%=request("text")%> skall lyda "12345%2B67890" skall du använda escape. "%2B" är nämligen "+" när du använder GET, "+" å andra sidan är mellanslag. Logiskt va?
Denna kod för att göra det "övertydligt"...
Jag har ett värde med ett plustecken (+) i variabeln myValue, och jag vill att efter man tryckt på länken, ska hamna på sidan test.asp och variabeln test ska skrivas ut som "12345+67890"
Jupp, det var en kortare variant av vad jag själv kom fram till (se mitt andra inlägg och funktionen test() )
Det verkar som om detta är det enda sättet att göra det på. Tycker det är konstigt eftersom det inte är några som helst problem i NS 4.x att göra det.
Tack så mycket för den hjälp jag fått..
261 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91