Avatar billede no_doubt Nybegynder
10. marts 2006 - 13:22 Der er 14 kommentarer og
1 løsning

enter til <br>

Hvordan skal koden se ud:
Jeg ønsker at kunne indtaste en masse tekst i et almindelig tekst felt og dermed også at enter(ny linje) skal lagres sammen med alt det andet, men hvordan gøres dette ?

OG

hvordan trækker man det så ud så det kommer UD som mellemrum
Avatar billede softspot Forsker
10. marts 2006 - 13:27 #1
Øøh, det sidste forstod jeg ikke lige, men jeg vil da anbefale at du formaterer det idet du viser det, så skal du ikke tænke på formateringen andre steder i systemet (hvis du f.eks. skal bruge data til andet end præsentation, kan det være træls at du skal udskifte <br> til alm. linieskift).

Selve linieskiftet ser således ud:

tekst = replace(tekstMedCRLF, vbCrLf, "<br>")
Avatar billede no_doubt Nybegynder
10. marts 2006 - 13:36 #2
hvad står vbCrLf for ?

altså jeg tænkte at man skulle lagre det i denne for
prøver<br>næste linje

også omformatere det når man trækker det ud
Avatar billede softspot Forsker
10. marts 2006 - 13:45 #3
Umiddelbart ville jeg selv lagre teksten i det oprindelige format, og så formatere det når jeg skulle præsentere teksten.

Performancemæssige overvejelser kan dog tale for, at man formaterer data når de gemmes i databasen. Så behøver du ikke gøre noget idet du trækker data ud til præsentation. Du skal så bare fjerne formateringen når data skal vedligeholdes, men det er noget du skal gøre op med dig selv og dine aktuelle behov.

Uanset om du vælger den ene eller den anden løsning, så ændrer det ikke på at du kan bruge den metode jeg skitserede i første post - det er bare et spørgsmål om hvornår du foretager formateringen.

vbCrLf er en VBScript-konstant der netop er linieskift (Carriage return + Linefeed) og det er den du vil søge efter når du skal udskifte et linieskift i et textarea (det kan godt være det er anderledes når teksten kommer fra en linux-baseret browser - det har jeg ikke så meget erfaring med)...
Avatar billede no_doubt Nybegynder
10. marts 2006 - 14:50 #4
Du kunne skitsere med eksempler hvordan en side med indsæt og udtræk kan se ud ?
Avatar billede softspot Forsker
10. marts 2006 - 14:54 #5
Jeg ville heller vende den rundt og bede dig vise mig  et udpluk af den kode hvor du har behov for at data hentes/gemmes formateret...
Avatar billede no_doubt Nybegynder
10. marts 2006 - 14:58 #6
Jamen det er til senere brug men ganske simpelt.


<form method="POST" action="denneside.asp">
    <p><textarea rows="2" name="S1" cols="20"></textarea><br>
    <input type="submit" value="Submit" name="B1"><input type="reset" value="Reset" name="B2"></p>
</form>
Avatar billede softspot Forsker
10. marts 2006 - 15:09 #7
Så kunne du f.eks. gøre således (hvis du gemmer teksten formateret med <br>):

<form method="POST" action="denneside.asp">
<p><textarea rows="2" name="S1" cols="20"><%=replace(tekst,"<br>",vbCrLf)%></textarea><br>
<input type="submit" value="Submit" name="B1"><input type="reset" value="Reset" name="B2"></p>
</form>


Hvor tekst indeholder den tekst du vil have sat ind i tekstområdet (f.eks. hentet fra databasen).

Hvis du ikke gemmer teksten i databasen med <br>, så skal du bare smide den direkte ind uden nogen formatering, f.eks.:

<form method="POST" action="denneside.asp">
  <p><textarea rows="2" name="S1" cols="20"><%=tekst%></textarea><br>
  <input type="submit" value="Submit" name="B1"><input type="reset" value="Reset" name="B2"></p>
</form>
Avatar billede no_doubt Nybegynder
10. marts 2006 - 15:14 #8
ja det ved jeg (det sidste) men hmm ja er altså lidt forvirret
Avatar billede softspot Forsker
10. marts 2006 - 15:22 #9
Ja, det er også meg at holde tungen lige i munden, når man transporterer data frem og tilbage og hvad der skal ændres hvornår. Man kan godt komme til at rode det sammen til tider... :)

Men som jeg startede med at sige, så skal du tænke på hvordan din applikation bliver brugt og hvad der giver bedst mening ifht. performance og vedligeholdelsesvenlighed (ofte to faktorer der modarbejder hinanden :)) og så ud fra det vælge den løsning som passer bedst. Det første spørgsmål jeg ville stille migselv i dit tilfælde var, hvor ofte vedligeholdes teksterne ifht. hvor ofte de vises... mit gæt er at de vises væsenligt hyppigere end vedligeholdes, så på den konto, giver det mening at gemme teksten formateret med <br>.

Der er naturligvis andre overvejelser du kan gøre, men jeg har lidt på fornemmelsen at det for de fleste er et spørgsmål om temperament, da de færreste behøves tænke på de ekstra cycles CPU'en skal bruge for at kalde replace lidt oftere, eller den plads man bruger ekstra i databsen for at gemme teksten formateret...
Avatar billede no_doubt Nybegynder
10. marts 2006 - 15:27 #10
Ja okay, kan du ikke vise en side hvor du sætter ind i databasen fra et tekstfelt og vise en side hvor du trækker det ud efter formatering
Avatar billede softspot Forsker
10. marts 2006 - 16:20 #11
Vedligeholdelse af formateret data fra databasen:

<%
id = rs("id")
tekst = replace(rs("tekst"), "<br>", vbCrLf)
%>
<form method="POST" action="denneside.asp">
  <input type="hidden" name="id" value="<%=id%>">
  <textarea rows="2" name="S1" cols="20"><%=tekst%></textarea><br>
  <input type="submit" value="Submit" name="B1">
  <input type="reset" value="Reset" name="B2">
</form>


Gemme data fra vedligeholdelse i databasen:

<%
id = request.form("id")
tekst = replace(replace(request.form("S1"), vbCrLf, "<br>"),"'","''")
sql = "UPDATE tabel SET tekst = '" & tekst & "' WHERE id = " & id
conn.execute(sql)
%>


Visning af teksten i en webbrowser (rs indeholder den formaterede tekst fra databasen):

<%
set rs = conn.execute("SELECT tekst FROM tabel WHERE id = " & id)
if not rs.eof then
  tekst = rs("tekst")
end if
rs.close
%>
<p><%=rs("tekst)%></p>


...og der antages naturligvis at du har oprettet en forbindelse til databasen som ligger i variablen conn og at de fornødne felter er tilgængelige osv. Eksemplerne sigter kun efter at illustrere den ønskede funktionalitet.
Avatar billede no_doubt Nybegynder
10. marts 2006 - 16:21 #12
sådan der..tak
Avatar billede no_doubt Nybegynder
10. marts 2006 - 16:22 #13
ups. dit svar
Avatar billede softspot Forsker
10. marts 2006 - 16:28 #14
Kommer der :)
Avatar billede softspot Forsker
11. marts 2006 - 13:14 #15
Tak for point :)
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