Avatar billede Thomas Knudsen Nybegynder
25. maj 2005 - 19:52 Der er 7 kommentarer og
1 løsning

DB-udtræk med " i teksten volder problemer i <input>

INDSÆTNING I DB
Jeg henter fra formular og kører denne funktion på indholdet, inden det indsættes i DB.

function DBfix(str) {
var temp = new String(str);
temp = temp.replace(/'/gi, "''");
temp = temp.replace(/|/gi, "");
return (temp);

Den sørger for at de to drilske tegn kommer med i DB

UDTRÆKNING FRA DB
Når jeg trækker data ud for at redigere sætter jeg et <input type=text> med en value fra DB. Der kommer "" omkring res.Fields("felt"); og dermed virker det faktisk 99%.

<kode>
<input type="text" name="overskrift" value="<%=res.Fields("Overskrift")%>">
</kode>

(Uden "" mister jeg alt i overskrift som kommer efter et mellemrum)
Den eneste fejl jeg oplever er:

Når man indtaster og gemmer en tekst som indholder tegnet "(shift+2),
får man ved udtræk kun tekst fra karakter 0 og frem til ".
Resten af ordet er væk. Det opstår kun når jeg sætter det ind som value i <input>
Vises det bare som ren tekst er der intet problem.

Jeg forventer ikke at mine gæster bruger tegnet ", men bare for lave koden bedst muligt, vil jeg gerne have lidt hjælp.
Avatar billede busschou Praktikant
25. maj 2005 - 19:59 #1
Det er vel fordi du hiver det ud i asp
Så det du får er
<input type="text" name="overskrift" value="her er tekst " og mere tekst">
Value slutter så ved anden "
Avatar billede busschou Praktikant
25. maj 2005 - 20:00 #2
du kunne evt bruge htmlencode
<input type="text" name="overskrift" value="<%=Server.HTMLEncode(res.Fields("Overskrift"))%>">
Avatar billede erikjacobsen Ekspert
25. maj 2005 - 20:01 #3
altid, altid, altid bruge server.htmlencode:

value="<%=server.htmlencode(res.Fields("Overskrift"))%>"
Avatar billede erikjacobsen Ekspert
25. maj 2005 - 20:02 #4
Det er ikke "evt", busschou, det er "altid" ... ;)
Avatar billede busschou Praktikant
25. maj 2005 - 20:03 #5
hehe ok så altid da erik
Jeg vil så mene det kommer an på om man selv er herre over indputtet...
Men yes yes
Avatar billede erikjacobsen Ekspert
25. maj 2005 - 20:06 #6
Jow, hvis det kommer fra et talfelt, behøv's det ikke. Men hvis det er et tekstfelt vil man forebygge bøvl, hvis man altid har den med.
Avatar billede busschou Praktikant
25. maj 2005 - 20:07 #7
oki så... men det var vel "evt" "altid" det som var løsningen så ;o)
Avatar billede Thomas Knudsen Nybegynder
25. maj 2005 - 20:12 #8
Herligt.
Har faktisk brugt HTMLencode sidste år, da jeg ikke ville have tosserne til at lave html i forumindlæg :). Jeg tænkte mig vist ikke om i dag :)
MANGE tak for hurtig respons
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