Avatar billede acidduck Nybegynder
15. maj 2001 - 13:40 Der er 13 kommentarer og
1 løsning

Problemer med apostroffer i Javascript!

Jeg er ved at indlejre noget Javascript i PHP. Jeg får en syntax error når jeg kører følgende:

print\"
document.write(\\\"<A onmousedown=\'fnDispThis(tal);hideMenu(1);hilite(\'produkt\',\'selected\');\'>klik her</A>\\\");
\";

Problemet er apostrofferne som jo er nødt til at være der ved \'produkt\' og \'selected\' i hilite funktionen. Så hvordan får jeg dem til at blive godtaget?
Avatar billede borrisholt Novice
15. maj 2001 - 13:42 #1
prøv med

print\"
document.write(\\\"<A onmousedown=\'fnDispThis(tal);hideMenu(1);hilite(\\\'produkt\\\',\\\'selected\\\');\'>klik her</A>\\\");
\";

Det skulle virke.

Jens b http://fotx.net/borrisholt
Avatar billede acidduck Nybegynder
15. maj 2001 - 13:45 #2
Nej det gør det ikke. Får stadig en syntax error - og når jeg vælger \"view source\" kan jeg se at den har taget \\\'erne med.
Avatar billede nute Nybegynder
15. maj 2001 - 13:47 #3
det er ikke noe poeng å escape \' inne i selve strengen. Prøv dette:

print\"<script>document.write(\\\"<A onmousedown=\'fnDispThis(tal);hideMenu(1);hilite(\'produkt\',\'selected\');\'>klik her</A></script>\\\");\"

/nute
Avatar billede olebole Juniormester
15. maj 2001 - 13:55 #4
<ole>
nute >> Det er ikke rigtigt...så får han jo netop enkete gåseøjne inde i enkelte gåseøjne - og er iøvrigt netop det, han skriver i spørgsmålet :o)
Prøv:

print\"
document.write(\\\"<A onmousedown=\\\'fnDispThis(tal);hideMenu(1);hilite(\'produkt\',\'selected\');\\\'>klik her</A>\\\");
\";
/mvh
</bole>
Avatar billede nute Nybegynder
15. maj 2001 - 13:59 #5
ole >> hehe...du har så rett. Jeg klarer ikke å uttrykke meg i varmen. Vårt aircondition anlegg har streiket, så temperaturen nærmer seg de 30 :-|. Jeg tenkte ikke hva jeg skrev, og skrev ikke hva jeg tenkte...jeg hadde planer om å skrive det samme som deg, men....det gikk litt galt :-D

/nute
Avatar billede olebole Juniormester
15. maj 2001 - 14:07 #6
Som du - af alle - ved, så kender jeg selv problemet med ikke at skrive, hvad man tænker...!  *LoooL*
Avatar billede acidduck Nybegynder
15. maj 2001 - 14:13 #7
Det virker altså hellerikke. Den godtager ikke \\\' - der kommer blot til at stå \\\' i koden.
Avatar billede nute Nybegynder
15. maj 2001 - 14:18 #8
jeg er ikke helt sikker på hva du mener....du benytter print funksjonen til å skrive \'document.write\' (en metode som selv skriver noe)...jeg ser ikke det logiske i det, men...hva med dette:

print\"<script>
document.write(\\\"<A onmousedown=fnDispThis(tal);hideMenu(1);hilite(\'produkt\',\'selected\');>klik her</A></script>\\\");\";

/nute
Avatar billede borrisholt Novice
15. maj 2001 - 14:21 #9
hvad så med den her :

<A onmousedown=\'fnDispThis(tal);hideMenu(1);hilite(\'+&#39;+\'produkt\'+&#39;+\',\'+&#39;+\'selected\'+&#39;+\');\'>klik her</A>

Jens B
Avatar billede olebole Juniormester
15. maj 2001 - 14:29 #10
borrisholt >> Holder ikke X-browser. Du kan ikke benytte alm. HTML-entities i JavaScript. Der skal du bruge den escapede oktal-tal værdi til tegnets ASCII-kode.
/mvh
Avatar billede acidduck Nybegynder
15. maj 2001 - 14:30 #11
Tak for alle forslagene - men de virker bare ikke. Nute, jeg tror måske du er inde på noget mht at jeg bruger en document.write inde i en print.
Avatar billede acidduck Nybegynder
15. maj 2001 - 14:41 #12
Nå - jeg lavede bare en funtion der så udfører de tre funktioner. Det virker.
Avatar billede olebole Juniormester
15. maj 2001 - 14:47 #13
I øvrigt kan man skrive et \' med JavaScript som \\47, hvilket netop er den escapede oktal-værdi  :o)
/mvh
Avatar billede jakoba Nybegynder
16. maj 2001 - 08:26 #14
del print sætningen op i flere små printsætninger så der ikke er så mange forskellige apostroffer på een gang:
print \"document.write(\\\"<A onmousedown=\'fnDispThis(tal);hideMenu(1);hilite(\\\");\";
print \"document.write(\'\\\"produkt\\\",\\\"selected\\\");\');\";
print \"\'>klik her</A>\\\");\";

mvh JakobA
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