Avatar billede intel4004 Novice
24. marts 2004 - 18:55 Der er 7 kommentarer og
1 løsning

Ang. escaping af tegn i forb. med javascript

Jeg forsøger at give en js-procedure noget tekst:

echo '<a href="java script:void(0);" onmouseover="return overlib(\''.$tekst'\');" onmouseout="return nd();">Note present</a>';

Indholdet af $tekst har jeg forsøgt at erstatte:

"\"" med "\\\""
og
"'" med "\\'"

Jeg får dog en fejl: strengskonstanten er uafsluttet.

Hvordan er det helt præcist jeg skal escape for at få dette til at virke??

Mvh Intel4004
Avatar billede detox Nybegynder
24. marts 2004 - 18:59 #1
Måske:

echo '<a href="java script:void(0);" onmouseover="return overlib(\''.$tekst.'\');" onmouseout="return nd();">Note present</a>';
Avatar billede intel4004 Novice
24. marts 2004 - 19:06 #2
detox: Sorry - jeg lavede en fejl i indsættelsen af koden. Jeg har det punktum med.

Jeg for ingen parser fejl i php. Fejlen ligger i javascript.

Intel4004
Avatar billede roenving Novice
24. marts 2004 - 19:10 #3
Prøv at vise et eksempel på indholdet af $tekst og outputtet (Vis kilde i browseren !-)
Avatar billede intel4004 Novice
24. marts 2004 - 19:43 #4
Det er til et hjemmelavet projektstyringssystem - hvis en filnote indeholder enkelt og dobbeltapostrof samt linieskift (windows) skal de erstattes af javascript-tegnene for disse.

Denne tekst er:

test " '
" ' ' ""
rerer

(sådan cirka :) )


<a href="java script:void(0);" onmouseover="return overlib('test \" \'\n\n\" \' \' \"\"\n\nrerer\n\n');" onmouseout="return nd();">Note present</a>

Mvh Intel4004
Avatar billede intel4004 Novice
24. marts 2004 - 20:22 #5
Ok - har ændret lidt på det:

<a href="java script:void(0);" onmouseover="return overlib('test \" \'\n\" \' \' \"\"\nrerer\n');" onmouseout="return nd();">Note present</a>

Hvad er der galt med ovenstående kode. Min IE6 brokker sig gevaldigt: strengkonstanten er uafsluttet...

Jeg kan ikke se nogle fejl...

Intel4004
Avatar billede intel4004 Novice
24. marts 2004 - 21:19 #6
ok - engang var der stor sandsynlighed for at få svar på ens spørgsmål...

Det er den karma skala som gør det, ikke??

Men jeg fandt ud af det selv - som sædvanlig... :(

Intel4004
Avatar billede roenving Novice
24. marts 2004 - 22:45 #7
Prøv at skrive de tegn, som først skal fortolkes efter at javascript har haft fat i det med escapede oktal-værdier:

Brug \42 i stedet for " og \47 i stedet for ' !-)
Avatar billede intel4004 Novice
25. marts 2004 - 07:45 #8
Jeg fik det til at virke ved at erstatte ' med \' og " med &quot;.
Intel4004
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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