Avatar billede oasen Nybegynder
08. maj 2003 - 04:03 Der er 5 kommentarer og
2 løsninger

Escape'e tegn?

Hvordan klarer jeg denne, således at der ikke opstår fejl pga. brugen af ' og " ?

<body onLoad="parent.tekst('For "alternativ" <a href="#" onClick="noget('streng');">info</a> se 'mere' her!');">

Resultatet skal altså være:
For "alternativ" <a href="#" onClick="noget('streng');">info</a> se 'mere' her!
Avatar billede grunken Nybegynder
08. maj 2003 - 04:10 #1
<body onLoad="parent.tekst('For "alternativ" <a href="#" onClick="noget(\'streng\');">info</a> se \'mere\' her!');">
Avatar billede mortrr Praktikant
08. maj 2003 - 09:01 #2
Det kan du faktisk ikke.
De " der optræder i teksten vil virke som afsluttende på onload, så du får en syntax-fejl. Og det hjælper ikke at escape dem, da det jo er html-kode.
Og det hjælper heller ikke at bruge fx &quot; da den resulterende kode så bliver forkert.

Normalt vil man splitte det op, så man får den rigtige kombination, men det er vist umuligt i dit tilfælde, fordi du blander dem så meget.

Så flyt det ud i et lille script som du kalder.
<script>
function setParentTekst() {
parent.tekst('For "alternativ" <a href="#" onClick="noget(\'streng\');">info</a> se \'mere\' her!\');">');
}
</script>
<body onLoad='setParentTekst()">

Alternativt kan du selv lave en replace i tekst funktionen, og bruge nogen andre tegn end ".
Avatar billede olebole Juniormester
08. maj 2003 - 17:01 #3
<ole>

Hvis man blot bruger JavaScript korrekt, er det ikke noget problem. I JS anvender man ikke HTML-entities for special-tegn - men derimod den escape'de oktal-tal værdi for tegnets keyCode.

Dette gør præcis, hvad der ønskes (jeg har udeladt 'parent' og nøjes med at kalde funktionen i samme dokument. Det kan laves om uden problemer):

<html>
<head>
<script type="text/JavaScript">
function tekst(str) {
    document.body.innerHTML = str;
}
function noget(str) {
    alert(str);
}
</script>
</head>
<body onload="tekst('For \42alternativ\42 \74a href=\42#\42 onClick=\42noget(\47streng\47);\42\76info\74/a\76 se \47mere\47 her!');">

</body>
</html>

/mvh
</bole>
Avatar billede olebole Juniormester
08. maj 2003 - 17:04 #4
Du kan evt. downloade en lille exe-fil, jeg engang skrev her:
  http://tjenester.dk/x-codes.dk/eksperten/oktal_konverter/
Den klarer konverteringen.
Avatar billede oasen Nybegynder
08. maj 2003 - 20:30 #5
Genialt! Tak for det :)
Avatar billede olebole Juniormester
08. maj 2003 - 22:36 #6
Njaahhhh ... ikke genialt ... bare JavaScript  ;o)
Og selvtak  :)
Avatar billede oasen Nybegynder
09. maj 2003 - 10:35 #7
Ja, men det var lige det tip, jeg manglede ;)
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