Avatar billede kimlarsen1978 Nybegynder
11. august 2003 - 18:55 Der er 16 kommentarer og
1 løsning

Fjern " så JavaScrip/ASP ikke fejler

Hej
Jeg har en indkøbskurv hvor man får en alert når en vare købes, men hvis varenavnet indeholder " så fejler JavaScriptet. Hvordan erstatter jeg " med koden for " så alert ikke fejler? Min kode ser sådan her ud:
------------
<script type="text/javascript">
navn = "<%=rs_varenavn("ItemName")%>";
type = "<%=rs_varenavn("ItemName2UK")%>";
alert("Varen: "+navn+" "+type+" er lagt i indkøbskurven.");
</script>
-------------
Men hvis nu varenavnet f.eks. er "SAMMYER" ROSE så får jeg fejlen at tegnet ; var ventet. Hvordan laver jeg noget replace værk??
Avatar billede squashguy Nybegynder
11. august 2003 - 18:58 #1
du kan escape "

str = replace(str, """", "\""")
Avatar billede roenving Novice
11. august 2003 - 18:58 #2
I javascript skal du bruge \42 i den situation så den kan du erstatte med ...

-- men det er jo absolut muligt at \ giver problemer i dit script (måske \\ !-)
Avatar billede grunken Nybegynder
11. august 2003 - 18:59 #3
<script type="text/javascript">
navn = "<%=replace(rs_varenavn("ItemName"),"""","\"")%>";
type = "<%=replace(rs_varenavn("ItemName2UK"),"""","\"")%>";
alert("Varen: "+navn+" "+type+" er lagt i indkøbskurven.");
</script>
Avatar billede grunken Nybegynder
11. august 2003 - 19:00 #4
Lol hvor er jeg hulens langsom i dag, tror skisme hellere jeg må gå ned og udnytte bryggebadet ;D
Avatar billede kimlarsen1978 Nybegynder
11. august 2003 - 19:05 #5
squashguy -->> Det virker ikke lige umiddelbart, det ser sådanher ud:
--------
<script type="text/javascript">
navn = "<%=rs_varenavn("ItemName")%>";
type = "<%=rs_varenavn("ItemName2UK")%>";
navn1 = replace(navn, """", "\""")
type1 = replace(type, """", "\""")
alert("Varen: "+navn1+" "+type1+" er lagt i indkøbskurven.");
</script>
------------
Når man ser kildekoden som siger "tegnet ; var venter" i linien navn = ...
------------
<script type="text/javascript">
navn = "Euro-Star "Sammy" B/J, elastan m/knæskin";
type = " 5 år / 110 cl, sort, elastik i sider.";
navne = replace(navn, """", "\""");
typee = replace(type, """", "\""");
alert("Varen: "+navne+" "+typee+" er lagt i indkøbskurven.");
</script>
-----------------
Avatar billede squashguy Nybegynder
11. august 2003 - 19:07 #6
du blander asp og js sammen der

navn = "<%=replace(rs_varenavn("ItemName"), """", "\""")%>";

...
Avatar billede kimlarsen1978 Nybegynder
11. august 2003 - 19:09 #7
grunken -->>
--------
<script type="text/javascript">
navn = "<%=replace(rs_varenavn("ItemName"),"""","\"")%>";
type = "<%=replace(rs_varenavn("ItemName2UK"),"""","\"")%>";
alert("Varen: "+navn+" "+type+" er lagt i indkøbskurven.");
</script>
-------------
Giver denne fejl:
-------------
Microsoft VBScript compilation error '800a0409'

Unterminated string constant
Avatar billede grunken Nybegynder
11. august 2003 - 19:12 #8
jeps brug squash's, jeg glemte en "
Avatar billede squashguy Nybegynder
11. august 2003 - 19:12 #9
smid lige en " mere på efter \

<script type="text/javascript">
navn = "<%=replace(rs_varenavn("ItemName"),"""","\""")%>";
type = "<%=replace(rs_varenavn("ItemName2UK"),"""","\""")%>";
alert("Varen: "+navn+" "+type+" er lagt i indkøbskurven.");
</script>
Avatar billede kimlarsen1978 Nybegynder
11. august 2003 - 19:12 #10
Optur
Så virker det :)
Vil i dele points? (squashguy & grunken)
Avatar billede squashguy Nybegynder
11. august 2003 - 19:13 #11
joh lad os bare dele :)
Avatar billede kimlarsen1978 Nybegynder
11. august 2003 - 19:13 #12
Hvorfor er det I erstatter med "\""" ? Hvad gør \?
Avatar billede kimlarsen1978 Nybegynder
11. august 2003 - 19:13 #13
Så skal jeg lige bruge et svar far grunken
Avatar billede grunken Nybegynder
11. august 2003 - 19:16 #14
nah, det er squash's det hele ;)

og \+ tegn escaper tegnet så det bliver set som en del af strengen ;)
Avatar billede squashguy Nybegynder
11. august 2003 - 19:16 #15
\" bliver ikke fortolket som værende slut på strengen. \42 som roenving foreslår virker også. Om \42 er mere crossbrowservenlig ved jeg så ikke lige ?

roenving...?
Avatar billede roenving Novice
11. august 2003 - 19:20 #16
Jeg ved det er javascript (ECMA-script) standard, så den virker vel på alle browsere som praler af, at de kan javascript
-- dem jeg selv har prøvet kører det uden problemer på.

Derimod skal man ikke forvente understøttelse af \ på alle browsere -- specielt dem, som kører på andre styresystemer kan vel få problemer ...
Avatar billede kimlarsen1978 Nybegynder
11. august 2003 - 19:22 #17
Okay
Jeg takker :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester