Avatar billede submitt Nybegynder
22. februar 2004 - 21:21 Der er 11 kommentarer og
1 løsning

HTML Encode

Jeg har et formularfelt hvori jeg indtaster et JavaScript. Dette Javascript trækker jeg så ud på en side for at vise mine brugere scriptet.

Jeg benytter HTMLEncode for at scriptet bliver opfattet som test der skal udskrives på siden.

Men jeg benytter også funktionen replace - for at erstatte VB-linieskift med <BR>. Ellers bliver det hele bare skrevet ud i een lang linie.

Problemet er følgende:

Fordi jeg bruger HTMLEncode bliver de <BR> som skulle opfattes som HTML nu opfattet som tekst og bliver dermed udskrevet sammen med JavaScriptet.

Hvordan kommer jeg ud over dette problem?

Her er koden:

<%= Server.HTMLEncode(replace(RsScript.Fields.Item("kode").Value,vbcrlf,"<br>")) %>

Mvh.
Kenneth
Avatar billede cpufan Juniormester
22. februar 2004 - 21:29 #1
<%mellemvariabel = replace(RsScript.Fields.Item("kode").Value,vbcrlf,"<br>")
response.write server.htmlEncode(mellemvariabel%>
Avatar billede cpufan Juniormester
22. februar 2004 - 21:30 #2
<%mellemvariabel = replace(RsScript.Fields.Item("kode").Value,vbcrlf,"<br>")
response.write server.htmlEncode(mellemvariabel)%>
Avatar billede submitt Nybegynder
22. februar 2004 - 21:37 #3
Det hjælper ikke

Min side ser stadig forkert ud. Herunder ser du hvordan siden viser det:

<Script Language="JavaScript"><br>document.MinForm.MitTekstfelt.select();<br></Script>

For det første skriver den det på een lang linie, og for det andet udskriver den BR-koderne.
Avatar billede cpufan Juniormester
22. februar 2004 - 21:43 #4
åååh ja
du skal splitte den op i et array ( delt ved <br> eller cbcrlf )
og så lave en htmlencode for hvert element i arrayet
og så sætte en <br> for hver element i arrayet (uden htmlencode)
Avatar billede submitt Nybegynder
22. februar 2004 - 21:44 #5
Ikke forstået ... :-(
Avatar billede squashguy Nybegynder
22. februar 2004 - 21:47 #6
<%= replace(Server.HTMLEncode(RsScript.Fields.Item("kode").Value),vbcrlf,"<br>")) %>
Avatar billede submitt Nybegynder
22. februar 2004 - 21:51 #7
squashguy - Tak - det virker! Hvis du sender et svar istedet for en kommentar kan jeg give dig pointene.
Avatar billede cpufan Juniormester
22. februar 2004 - 21:54 #8
var = split(RsScript.Fields.Item("kode").Value,vbcrlf)
for i = 0 to Ubound(var)
response.write server.htmEncode(var(i))
response.write "<br>"
next i
Avatar billede squashguy Nybegynder
22. februar 2004 - 21:55 #9
okay

cpufan.. den løsning er da lidt besværlig :)
Avatar billede squashguy Nybegynder
22. februar 2004 - 21:55 #10
prøv igen
Avatar billede cpufan Juniormester
22. februar 2004 - 21:59 #11
ja din er snildere, den tænkte jeg egentlig også på først,
men mente så ikke den ville virke.
Avatar billede submitt Nybegynder
22. februar 2004 - 22:00 #12
Tak til jer begge. squashguys løsning er nemmest så pointene går til ham :-)
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