Avatar billede jriff Nybegynder
19. juli 2004 - 16:10 Der er 11 kommentarer og
1 løsning

ASP og '

Hej Alle!

Jeg har lidt problemer med at bruge apostroffer i forbindelse med forms. Jeg bruger en replace(var, "'", "''") når jeg skal gemme data i databasen. Intet problem. Når jeg så skal tage strengen, som indeholder en apostrof, og redigere den i et textarea går det galt. Jeg har prøvet at lade apostrofen være som en enkelt og jeg har prøvet at lave en replace, så der står to efter hinanden. Begge dele giver et forkert resultat i textarea'et. Hvad gør man :-)
Avatar billede goose Nybegynder
19. juli 2004 - 16:14 #1
hvis du gemmer i databasen på din nævnte måde er det korrekt det du gør.
Når du så efterfølgende henter det ind i et textarea til redigering skal du ikke replace noget, altså skal du bare tage koden direkte fra databasen, så burde det da virke ?

/Goose
Avatar billede jriff Nybegynder
19. juli 2004 - 16:21 #2
Det gør det bare ikke... Du kan se hvad der sker her:

<td><b>Overskrift</b></td><td><input type=text size=35 name='overskrift' value='test's'></td>

Den viser ikke andet end "test".
Avatar billede jriff Nybegynder
19. juli 2004 - 16:25 #3
Her er det så ikke et textarea... men det er vel det samme?
Avatar billede goose Nybegynder
19. juli 2004 - 16:31 #4
Altså hvis jeg gemmer test's i en database og replacer den jvf. din måde og derefter laver et udtræk fra min database med:

<input type=text size="35" name="overskrift" value="<%=rs("tabelnavn")%>">

- så får jeg da test's

??

/Goose
Avatar billede keysersoze Ekspert
19. juli 2004 - 16:33 #5
det er korrekt når du gemmer at du skal replace en ' med to '

Når du indsætter i dit textarea eller textfelt skal du bare tage data fra databasen som de er - men når du så updater databasen skal du igen bruge replace(var,"'","''").
Avatar billede goose Nybegynder
19. juli 2004 - 16:34 #6
Okay, prøv og brug " isetdet for ' rundt om din value, altså

value="test's"

isetdet for

value='test's'

/Goose
Avatar billede jriff Nybegynder
19. juli 2004 - 16:35 #7
Ja... men du bruger også gåseøjne til at afgrænse din value. Hvis man gør det kan man ikke bruge gåseøjne i feltet. Kan du se hvad jeg mener? Det er et problem at bruge det samme tegn i både feltet og til at afgrænse value med.
Avatar billede keysersoze Ekspert
19. juli 2004 - 16:40 #8
ja - den havde jeg ikke set... men hvis vi vidste præcis hvad fejlen bestod i var det måske lettere
Avatar billede jriff Nybegynder
19. juli 2004 - 16:45 #9
Hmm... jeg ved næsten ikke hvordan jeg skal komme det nærmere, men jeg prøver :-)

<input type=text size="35" name="overskrift" value="Hedder du "ole"?"> Virker ikke.
<input type=text size="35" name="overskrift" value='Hedder du "ole"?'> Virker.
<input type=text size="35" name="overskrift" value="Hedder du 'ole'?"> Virker.
<input type=text size="35" name="overskrift" value='Hedder du 'ole'?'> Virker ikke.

Så vidt jeg kan se er der ikke nogen mulighed for at få fyldt value ud, så det både virker med " og '. Det ser ud som om det er enten eller, og det er jo ikke så smart. Så kan jeg altså ikke forudfylde et felt med: teksten:

Han sagde: "Hej!" og Anders' ven sagde: "Hejsa!"

For her indgår både " og '. Gav det lidt mere mening? Faktisk er det mere et HTML-spørgsmål kan jeg se...
Avatar billede goose Nybegynder
19. juli 2004 - 16:50 #10
prøv så også at replace dine " og brug så " til at afgrænse din value med

data = replace(var, "'", "''")
data = replace(data,chr(34),"&quot;")

/Goose
Avatar billede jriff Nybegynder
19. juli 2004 - 16:55 #11
Goose: Du er en gud! :o) Det virker perfekt! Tak for hjælpen - og smid så et svar så du kan få point!
Avatar billede goose Nybegynder
19. juli 2004 - 16:59 #12
Det er store ord du bruger og dem vil jeg ikke kommentere på, men et svar vil jeg da gerne ligge :o)

- og velbekomme

/Goose
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