Avatar billede mmolsen Nybegynder
31. oktober 2003 - 13:00 Der er 10 kommentarer og
1 løsning

Strengkonstant er uafsluttet.

Hej Experter.

Jeg trækker en streng ud af min database, og putter den på en variabel.

Set RSmenu = Conn.Execute(SQLmenu)
DocHtml = Trim(RSmenu("LmenuHtml"))
Response.Write "<script language='JavaScript'>" & VbCrLf
Response.Write "var sideHtml = '" & DocHtml & "';" & VbCrlf
Response.Write "</script>" & VbCrLf

men så sker der det når jeg angiver sideHtml i linie 4 at jeg får fejlen: Strengkonstant er uafsluttet.
Det skal siges at strengen er en masse htmlkode, der er blevet formateret lidt på :)

Nå...
Det underlige er så at hvis jeg kopiere strengen fra databasen og sætter sætter den direkte ind i docHtml linie 2, så sker sker der ingen fejl.

DocHtml = "<table width=&#39;500&#39; height=&#39;300&#39; border=&#39;1&#39; cellspacing=&#39;0&#39; cellpadding=&#39;0&#39;><tr><td valign=&#39;top&#39;><P><TABLE height=&#39;100%&#39; cellSpacing=0 cellPadding=0 width=&#39;100%&#39; align=left border=0 valign=&#39;top&#39;><TR><TD vAlign=top>Dette er en test</TD><TD vAlign=top>asfassaasf</TD></TR><TR><TD vAlign=top>YES JAOOOOW</TD><TD vAlign=top>MEN KAN DET DA IKKE BARE VÆRE <BR>SOM DET ELLER SKULLE VÆRE</TD></TR></TABLE></P></td></tr></table>"

Dvs det er helt den samme streng, denne gang bare direkte skrevet ind, og ikke trukket fra databasen. Hvad sker der her ??? er det fordi den laver nogle dumme "breaks/new-line" i databasen, og kan disse evt. fjernes ?

*Morten*
Avatar billede erikjacobsen Ekspert
31. oktober 2003 - 13:26 #1
Men der står '-ere i din DocHtml med den øverste metode, men #39; med
den nederste. Derfor er der forskel. Du kan erstatte ' med #39; i dit
øverste eksempel. Så skulle den også virke.
Avatar billede erikjacobsen Ekspert
31. oktober 2003 - 13:27 #2
Du kan fx i ASP

  DocHtml = replace(DocHtml,"'","#39;")
Avatar billede erikjacobsen Ekspert
31. oktober 2003 - 13:27 #3
Eller
  DocHtml = replace(DocHtml,"'","\'")
Avatar billede mmolsen Nybegynder
31. oktober 2003 - 14:17 #4
I den øverste metode er det udtræk for databasen. Allere i databasen er '-erne replaced med &#39; og der er heller ingen "-ere

Har dog alligevel forsøgt med dit forslag, men uden success :(
Avatar billede mmolsen Nybegynder
31. oktober 2003 - 14:54 #5
du kan se det jeg har lavet her:
http://status.yaboo.dk/cmssystemtemp2/modul-menuadmin/main.asp

Jeg har fundet ud af, at når jeg opretter en side, og i siden trykker "enter" så laver den noget <p></p> (det i sig selv er fint nok) men når man laver en side på den måde så er det at fejlen kommer. Opretter jeg en side, uden at trykke "enter" men fx. bare <br>(shift+enter), så kommer der ingen fejl når jeg udtrækket er fra databasen.

Prøv selv at opret en side med begge eksempler.
Det er ved "rediger side" at fejlen sker (når den sker)
Avatar billede mmolsen Nybegynder
31. oktober 2003 - 14:58 #6
Men hvis jeg så går direkte ind i databasen, og trækker de linieskift sammen som der er opstået når den laver <p> så virker det korrekt.

Så på en eller anden måde skal jeg inden det kommer ind i databasen, få den til at undgå at lave de linieskift. (ikke i htmlkoden, men i databasen)
Avatar billede erikjacobsen Ekspert
31. oktober 2003 - 15:11 #7
Så er det jo linieskiftene du skal lave til \n  ;)
Avatar billede mmolsen Nybegynder
31. oktober 2003 - 15:13 #8
Men så er spørgsmålets kategori også noget helt andet.
Så med mindre du kender til det, må jeg nok hellere spørge et andet sted.
Avatar billede mmolsen Nybegynder
31. oktober 2003 - 15:13 #9
Hvordan gør man det ?
Avatar billede mmolsen Nybegynder
31. oktober 2003 - 15:30 #10
fandt ud af det
Replace(DocHtml,VbCrlf,"")

Dette gør jeg self inden det puttes i databasen.
Avatar billede mmolsen Nybegynder
31. oktober 2003 - 15:32 #11
Replace(DocHtml,VbCrlf,"")

Da jeg selv fandt svaret har jeg vel selv fortjent pointsne.

Men du skal have magne tak for at gidde at bruge lidt tid :)
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