Avatar billede tblaster Nybegynder
14. april 2002 - 17:10 Der er 15 kommentarer og
1 løsning

Textarea og linjeskift

Jeg har et taxtarea som følgende:

<textarea cols="39" rows="13" name="nyhed"></textarea>

Når jeg skriver noget i den og så poster den, så er alle de linjeskift jeg har lavet med ENTER slettet. Den skrives det hele ud i en smøre.

Hvordan kan jeg lave så man kan bruge ENTER i textarea og så den gemmer det?

Jeg ved godt at man bare kan bruge <p> til at lave et linjeskift men det er ikke det jeg skal bruge!
Avatar billede snigermunken Nybegynder
14. april 2002 - 17:12 #1
nl2br($name); i php.

Du siger ikke hvad sprog du bruger.
Avatar billede tblaster Nybegynder
14. april 2002 - 17:13 #2
sorry ... jeg køre med asp ... med db ...
Avatar billede tblaster Nybegynder
14. april 2002 - 17:15 #3
Det skal virke som det gør her på eksperten ...




Der laver man bare nogle linjeskift med ENTER og så får man dem også når ens tekst vises!
Avatar billede minijensen1 Nybegynder
14. april 2002 - 17:19 #4
hvis du laver det før det gemmes i databasen skal du bare bruge replace.

variabel = Replace(vbCrLf, "<br>", variabel)
Avatar billede minijensen1 Nybegynder
14. april 2002 - 17:20 #5
hov .. forkert ..

variable = Replace(variabel, vbCrLf, "<br>")

sorry ;-)
Avatar billede tblaster Nybegynder
14. april 2002 - 17:30 #6
hvor skal jeg smide det ind henne? Den gør det samme lige meget hvor jeg smider den!
Avatar billede tblaster Nybegynder
14. april 2002 - 17:32 #7
Her er hele min kode:

<%
'Åbner connection til databasen
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db.mdb")

'Hvis brugeren har submittet formularen
    if Request.ServerVariables("REQUEST_METHOD") = "POST" then
   
'Tjecker om felterne er udfyld
    if (Request.Form("title") <> "" AND Request.Form("nyhed") <> "" AND Request.Form("forfatter") <> "") then
   
'Tilføjer brugeren til databasen
    Set rs = Server.CreateObject("ADODB.Recordset")
    strSQL = "select * from nyheder"
    rs.Open strsql, conn, 1, 3
   
'Tilføjer brugeren til databasen og sender ham/hende til login siden
    rs.AddNew
    variable = Replace(variabel, vbCrLf, "<p>")
    rs("title") = Server.HTMLEncode(Request("title"))
    rs("nyhed") = (Request("nyhed"))
    rs("smiley") = Server.HTMLEncode(Request("smiley"))
    rs("forfatter") = Server.HTMLEncode(Request("forfatter"))
    rs("dato") = Now()
    rs.update
   
    Response.Write("<strong><font color='red'>Du har sendt formen!</font></strong>")
   
    rs.Close
    set rs = nothing
   
    else


Response.Write"<strong><font color='#ffffff'>Du mangler at udfylde en eller flere felter!</font></strong>"
Response.Write"<script>"
Response.Write"window.setTimeout('history.back();',2000);"
Response.Write"</script>"
   
   
    end if
    end if
%>
        </td>
      </tr>
      <tr>
        <td align="left" valign="top"><b>Title <font color="#336699">*</font></b></td><td align="right"><input name="title" type="textbox" class="InputTable" size="40"></td>
      </tr>
      <tr>
        <td align="left" valign="top"><b>Nyhed <font color="#336699">*</font></b></td><td align="right"><textarea cols="39" rows="13" name="nyhed"></textarea></td>
      </tr>
      <tr>
        <td align="left" valign="top"><b>Forfatter <font color="#336699">*</font></b></td><td align="right"><input name="forfatter" type="textbox" class="InputTable" size="40"></td>
      </tr>
      <tr>
        <td align="left" valign="top">
        Felterne med en * skal udfyldes!</td>
      </tr>
        <tr>
        <td align="left" valign="top"><input name="submit" type="submit" class="Button" value="Opret Nyheden"></td><td align="right"><input name="reset" type="reset" class="Button" value="Slet og Start Forfra"></td>
      </tr>
      </table>
Avatar billede minijensen1 Nybegynder
14. april 2002 - 17:39 #8
<%
'Åbner connection til databasen
Set conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("db.mdb")

'Hvis brugeren har submittet formularen
    if Request.ServerVariables("REQUEST_METHOD") = "POST" then
   
'Tjecker om felterne er udfyld
    if (Request.Form("title") <> "" AND Request.Form("nyhed") <> "" AND Request.Form("forfatter") <> "") then
   
'Tilføjer brugeren til databasen
    Set rs = Server.CreateObject("ADODB.Recordset")
    strSQL = "select * from nyheder"
    rs.Open strsql, conn, 1, 3
   
'Tilføjer brugeren til databasen og sender ham/hende til login siden
    rs.AddNew
    variable = Replace(variabel, vbCrLf, "<p>")
    rs("title") = Server.HTMLEncode(Request("title"))
    rs("nyhed") = Replace(Request("nyhed"), vbCrLf, "<br>")
    rs("smiley") = Server.HTMLEncode(Request("smiley"))
    rs("forfatter") = Server.HTMLEncode(Request("forfatter"))
    rs("dato") = Now()
    rs.update
   
    Response.Write("<strong><font color='red'>Du har sendt formen!</font></strong>")
   
    rs.Close
    set rs = nothing
   
    else


Response.Write"<strong><font color='#ffffff'>Du mangler at udfylde en eller flere felter!</font></strong>"
Response.Write"<script>"
Response.Write"window.setTimeout('history.back();',2000);"
Response.Write"</script>"
   
   
    end if
    end if
%>
        </td>
      </tr>
      <tr>
        <td align="left" valign="top"><b>Title <font color="#336699">*</font></b></td><td align="right"><input name="title" type="textbox" class="InputTable" size="40"></td>
      </tr>
      <tr>
        <td align="left" valign="top"><b>Nyhed <font color="#336699">*</font></b></td><td align="right"><textarea cols="39" rows="13" name="nyhed"></textarea></td>
      </tr>
      <tr>
        <td align="left" valign="top"><b>Forfatter <font color="#336699">*</font></b></td><td align="right"><input name="forfatter" type="textbox" class="InputTable" size="40"></td>
      </tr>
      <tr>
        <td align="left" valign="top">
        Felterne med en * skal udfyldes!</td>
      </tr>
        <tr>
        <td align="left" valign="top"><input name="submit" type="submit" class="Button" value="Opret Nyheden"></td><td align="right"><input name="reset" type="reset" class="Button" value="Slet og Start Forfra"></td>
      </tr>
      </table>

har sat den ind det sted hvor du tilføjer til databasen ..
hvis det ikke virker så prøv med vbNewLine istedet for vbCrLf
Avatar billede tblaster Nybegynder
14. april 2002 - 17:45 #9
du har da smidt den samme sted som jeg smed den før ... det virkede ikke før!
Avatar billede minijensen1 Nybegynder
14. april 2002 - 17:47 #10
hmm .. har du prøvet med vbNewLine istedet for vbCrLf ..?
Avatar billede tblaster Nybegynder
14. april 2002 - 17:49 #11
din kode virker ... men jeg kan ikke se hvad der er forskel på din og min :-D

Er det mulige at ændre alt på den måde ... så hvis man for eksemplel skriver enter så skifter den det med <p> ???
Avatar billede tblaster Nybegynder
14. april 2002 - 17:57 #12
minijensen1 ... hvordan får den den så til at ændre flere ting? Altså så den både erstatter enter og så den også erstatter * med <u>
Avatar billede minijensen1 Nybegynder
14. april 2002 - 18:04 #13
at skifte til et <p> er nok ikke så smart .. der skal jo også en </p> efter og sådan .. så hellere skifte med 2 <br> hvis der skal være størrere mellemrum eller lignende ..

for at erstatte flere ting sætter du bare en replace mere på .. for at gøre det mere overskueligt vil jeg foreslå at lave alle erstatningerne inden du gemmer dem i databasen

f.eks.

variabel = Replace(variabel, vbCrLf, "<br>")
variabel = Replace(variabel, "*", "<u>")
  ....
  rs("nyhed") = variabel
  ....

men med * og <u> får du samme problem som med </u> .. der skal være en afslutning på ..
Avatar billede minijensen1 Nybegynder
14. april 2002 - 18:05 #14
sorry .. retter lige

men med * og <u> får du samme problem som med <p> .. der skal være en afslutning på ..
Avatar billede tblaster Nybegynder
14. april 2002 - 18:21 #15
bruger jeg følgende formel:

    rs("nyhed") =     Replace(Request("nyhed"), vbCrLf, "<br>")
                    variabel = Replace(variabel, "*", "<br>")


så ændre den kun ENTER men ikke stjerne!
Avatar billede minijensen1 Nybegynder
14. april 2002 - 23:18 #16
det er også forkert ..
det skal være f.eks.
nyhed = Request("nyhed")
nyhed = Replace(nyhed, vbCrLf, "<br>")
nyhed = Replace(nyhed, "*", "<u>")
rs("nyhed") = nyhed
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