22. marts 2005 - 10:29Der er
18 kommentarer og 3 løsninger
HTML-kode i variabel giver fejl?
Jeg har et script hvor jeg sender noget html-kode der bliver genereret af noget ASP-kode, videre i en javascript variabel. Der er bare noget der går galt, så scriptet ikke forstår variablen der hedder HTMLcode. Kan forestille mig det måske er noget med "-tegnene eller '-tegnene, men hvordan kommer jeg udenom dette problem?
Det kan jeg ikke rigtig se, men umiddelbart er det i den linje hvor der står response.Write("var html = ' & HTMLcode & ';"), for hvis jeg bare sætter noget almindelig tekst ind istedet for " & HTMLcode & ", så virker det fint nok.
Det burde den ikke. Problemet er jo at du har ' tegnet i HTMLcode, og resultatet derfor bliver noget ala: var html = '... <input type="button" onClick="'test.asp'">...';
Det kan JavaScript naturlig ikke forstå, da der er ' tegn i, derfor escaper du ' tegnene med /' lige som du bruger "" til at escape " tegnet i ASP.
Det er ASP kode for linjeskift. Hvis du ikke har den ser koden sådan ud i browseren (kildekode):
<script type="text/javascript">var url = ''; var html = '.....';doSomething(url, html);</script>
istedet for: <script type="text/javascript"> var url = ''; var html = '.....'; doSomething(url, html); </script>
Som er meget mere læse/brugervenligt, når man skal finde fejl. Du kan jo prøve at fjerne dem og tjekke kildekoden i browseren, også se hvordan det ser ud. Det burde stadig virke uden vbCtrl...
moejensen >> Der er heller ikke ' i det udsnit af koden melted har vist, men det står som en bemærkning i hans post 10:31:26. Jeg så det heller ikke først :o)
Hmm... hvad gør jeg så hvis jeg har et link til en website hvor der er /-tegn i URL'en? Så escaper den der hvor /tegnet er... hvordan kommer man så udenom det?
Mener det er dobbelt /. Og den replace skal selvfølgelig laves inden ' bliver udskiftet med /', så de ikke bliver ændret:
replace(replace(HTMLcode,"/","//"),"'","/'")
Synes godt om
Ny brugerNybegynder
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.