Avatar billede oasen Nybegynder
12. maj 2003 - 15:36 Der er 14 kommentarer og
3 løsninger

< og > i en div?

Jeg indlæser noget tekst dynamisk med Javascript i en div, men der er problemer, hvis < og > forsøges indlæst, selv om jeg afkoder dem med &lt; og &gt;

&lt;Noget tekst&gt; (Bliver usynligt)
&lt; Noget tekst &gt; (Vises korrekt)
&lt;b&gt;Noget tekst&lt;/b&gt; (Gør teksten fed)

Hvorfor mon?
Avatar billede roenving Novice
12. maj 2003 - 15:39 #1
Fordi du med den første laver et html-tag, som ikke forstås af fortolkeren og derfor springes over.

hth
jes
Avatar billede websmith Nybegynder
12. maj 2003 - 15:52 #2
Bruger du innerHTML eller innerText til at sætte værdierne??
Avatar billede websmith Nybegynder
12. maj 2003 - 15:53 #3
Hvis det er tilfældet, så prøv med det modsatte, så kan det være at det fungerer. Hvis du bruger innerHTML, så parser den indholdet, og innerText gør ikke. så vide jeg ved ihvertfald :)
Avatar billede olebole Juniormester
12. maj 2003 - 16:05 #4
<ole>

Det er fordi '<noget tekst>' opfattes som et HTML-tag ... derfor bliver det 'usynligt'.

Iøvrigt bør du aldrig bruge HTML-entities i JavaScript, men den escapede oktal-tal værdi til tegnets keyCode:

\74b\76noget fed tekst\74/b\76

/mvh
</bole>
Avatar billede olebole Juniormester
12. maj 2003 - 16:06 #5
Du kan finde en lille konverter, jeg engang skrev her:
  http://tjenester.dk/x-codes.dk/eksperten/oktal_konverter/
/mvh
Avatar billede oasen Nybegynder
12. maj 2003 - 16:14 #6
websmith --> Jeg bruger innerHTML...

olebole --> Ja, det fortalte du mig i et tidligere spm., men hvis jeg skriver:

\74b\76noget fed tekst\74/b\76

- bliver teksten fed, og det skal den ikke, da brugerne derfor selv kan sidde og manipulere med koden.
Avatar billede roenving Novice
12. maj 2003 - 16:18 #7
Du oversætter:

&lt;Noget tekst&gt;

til:

\74Noget tekst\76
Avatar billede olebole Juniormester
12. maj 2003 - 16:25 #8
Prøv evt:

<body>

<script type="text/JavaScript">
function ins() {
    document.body.innerHTML += "\74xmp\76 \74Noget tekst\76 \74/xmp\76";
    alert(document.body.innerHTML);
}
</script>

<button onclick="ins()">TEST</button>

</body>

Så kan du se 'tagget'  :)
/mvh
Avatar billede oasen Nybegynder
12. maj 2003 - 18:47 #9
Ja, hvis jeg sætter <xmp> og </xmp> omkring brugerens tekst, vises tegnene, som de skal. Jeg gætter på, det kan sammenlignes med <pre>...?

MEN... Der kommer et stort stykke luft ovenover og nedenunder.
F.eks. vil tre linier se således ud (med 4 linieskift for meget).

Linie1


<Linie2>


Linie3
Avatar billede olebole Juniormester
12. maj 2003 - 21:14 #10
Tjaahhh ... det er lidt svært at give dig en god løsning, når vi ikke ved, hvad du vil lave - og hvorfor.
Umiddelbart virker det ikke som en synderlig 'smart' ting  :)
/mvh
Avatar billede oasen Nybegynder
13. maj 2003 - 12:20 #11
Det er til en chat.

Brugeren skriver til en iframe, der indsætter/udtrækker i en database. Udtrækkene sendes ved iframens onLoad til en funktion på hovedsiden, der indlæser denne tekst med innerhtml i en div.

Hjalp det lidt?
Avatar billede olebole Juniormester
13. maj 2003 - 12:24 #12
Hvorfor er det, du vil kunne skrive '<tekst>' ?
Avatar billede oasen Nybegynder
13. maj 2003 - 14:52 #13
Jeg er nåødt til at tage højde for, at brugeren f.eks. kan skrive "<script>" i beskeden, og så går det jo galt, ved mindre < og > simpelthen fjernes helt ved udskrivningen..
Avatar billede olebole Juniormester
13. maj 2003 - 16:00 #14
Sådan:

<script type="text/JavaScript">
function ins() {
    document.body.innerHTML += "\46lt;script\46gt;";
}
</script>

/mvh
Avatar billede oasen Nybegynder
13. maj 2003 - 23:23 #15
Alle tiders!! Tak :)
Avatar billede oasen Nybegynder
13. maj 2003 - 23:23 #16
Vil du svare?
Avatar billede olebole Juniormester
13. maj 2003 - 23:36 #17
yups ... swaaar  :)
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