Avatar billede simsen Mester
18. juli 2003 - 19:20 Der er 12 kommentarer og
2 løsninger

Replace(rs("Tekst"),vbCrlf,"<br>"

Jeg har en side, hvor jeg først deklarerer en variabel:

sTekst = Trim(Request.Form("Tekst"))

Så tester jeg på om siden er loadet eller skal gemmes - når siden loades - gør jeg sådan med min variabel i en sub:

sTekst = Rs.Fields("Tekst")

Herefter bruger jeg den i en form:

<td><textarea name="Tekst" rows="20" cols="53"><% Response.WRite(sTekst) %> </textarea></td>
</TR>

Jeg har prøvet at sætte Replace(rs("besked"),vbCrlf,"<br>" ind diverse steder - men får så bare forskellige fejlmeldinger.

Nogen der kan fortælle mig i hvilken linie og hvordan den skal stå, for at jeg kan få linieskift med over fra databasen?

simsen :-)
Avatar billede goose Nybegynder
18. juli 2003 - 19:31 #1
Jeg er ikke helt sikker på hvad du mener, men hvis man skal have linieskift konverteret til <br> plejer jeg at gøre sådan:

tekst=replace(rs("tekst"), vbcrlf, "<br>")
response.write tekst

/Goose
Avatar billede simsen Mester
18. juli 2003 - 19:37 #2
goose

Kender godt koden til det - som jeg skriver i min overskrift ;-)

Men har 3 linier mht. Tekst - og uanset hvor jeg skriver tekst=replace(rs("tekst"), vbcrlf, "<br>") ind i de 3 linier - så får jeg fejl

Og mit problem er at, jeg pkt. 1 ikke aner om den skal ind, når jeg deklarerer variblen - eller om det er når jeg henter teksten ind i min sub eller når jeg udskriver teksten i min form og pkt 2 - uanset hvor den skal være - hvordan det skal skrives - for jeg får fejl uanset hvor i en af de 3 jeg prøver at sætte den ind. Håber det tydeligegjorde mit problem? Ellers sig til - og jeg skal forsøge at udtrykke mig bedre :-)
Avatar billede jytte Nybegynder
18. juli 2003 - 19:43 #3
Hvis du indsætter teksten fra et textarea i din database og derefter henter den samme tekst ud i et textarea så burde de linieskift du oprindelig indskrev vises i dit nye textarea uden brug af replace.

Hvis vi taler forbi hinanden så kom med nogle kode eksempler og deres fejlmeddelelser.
Avatar billede goose Nybegynder
18. juli 2003 - 19:47 #4
Som Jytte skriver, så er du vist nød til at komme dels med din kode som fejler og dels hvilke fejlmeddelser du får.

/Goose
Avatar billede simsen Mester
18. juli 2003 - 19:51 #5
Her er hele min kode:

<!-- #include file="../../Administrator/protectadm.inc" -->
<!-- #include file="../../subrutiner.asp" -->
<html>
<!-- Minus AutoDato -->
<title>Ret hovedmenu dokument</title>
<head>
<META NAME="Generator" CONTENT="Stone's WebWriter 3.5">
<LINK HREF="../../../Stylesheets/Stylesheet.css" REL="stylesheet" TYPE="text/css">
</head>
<body>
<table>
<tr>
<td width="95%" align="center"><h1>Ret Hovedmenudokument</h1></td>
<td width="5%" align="center" valign="middle"><IMG SRC="../../../Images/RB-momblnk.gif" BORDER="0" WIDTH="100" HEIGHT="86" ALIGN="bottom" ALT=""></td>
</tr>
</table>
<%
sWhat = trim(Request("ID"))
sPageAction = trim(Request("Action"))
sHovedmenunavn = Trim(Request.Form("Hovedmenunavn"))
sOverskrift = Trim(Request.Form("Overskrift"))
sTekst = Trim(Request.Form("Tekst"))



if lcase(sPageAction) = "" then
    LoadVars
    ShowEditor
end if
if lcase(sPageAction) = "save" then
    SaveVars
    ShowOk
end if


Sub ShowEditor
%>

<FORM METHOD="POST" ACTION="rethovedmenudokument.asp?action=save&ID=<% Response.Write(sWhat) %>">

<table border="0">
<tr>
<td width="50%">
<TABLE BORDER="2" CELLPADDING="3" CELLSPACING="0" BORDERCOLOR="#C0C0C0" BORDERCOLORDARK="#C0C0C0" BORDERCOLORLIGHT="#C0C0C0">
<TR>
<TD valign="middle" class="H4"><b>Hovedmenu navn</b></TD>
<TD><INPUT TYPE="text" NAME="Hovedmenunavn" SIZE="30" VALUE="<% Response.WRite(sHovedmenunavn) %>"></TD>
</TR>
<TR>
<TD valign="middle" class="H4"><b>Overskrift</b></TD>
<TD><INPUT TYPE="text" NAME="Overskrift" SIZE="30" VALUE="<% Response.WRite(sOverskrift) %>"></TD>
</TR>
<TR>
<TD valign="top" class="H4"><b>Tekst</b></TD>
<td><textarea name="Tekst" rows="20" cols="53"><% Response.WRite Replace(rs("sTekst"),vbCrlf,"<br>") %> </textarea></td>
</TR>
</TABLE>
<BR><BR>
<INPUT TYPE="submit" VALUE="Gem"> <INPUT TYPE="reset" Value="Fortryd"><BR>
</FORM>
</td>
<td width="5%"></td>
<td width="45%" align="left" valign="top" class="H4"><br></td>
</tr>
</table>

<p>
<A HREF="../dokumentoversigt.asp">Retur til Hovedmenu oversigten</A><br>
<A HREF="../../Administrator/adm.asp">Retur til hovedmenu</A><br>

<%
End Sub

Sub LoadVars
opencon
call ChooseTableWhere ("Dokumenter", "Hovedmenunavn", sWhat)
if rs.bof = true and rs.eof = true then
    Response.Write("<font color=red>Record not found!")
else
    do until rs.eof = true
        if lcase(cstr(rs.fields("Hovedmenunavn").value)) = lcase(cstr(sWhat)) then
sHovedmenunavn = Rs.Fields("Hovedmenunavn").value
sOverskrift = Rs.Fields("Overskrift").value
sTekst = Rs.Fields("Tekst")

            exit do
        end if
    rs.movenext
    Loop
end if
closecon
End Sub

Sub SaveVars
opencon
call ChooseTableWhere ("Dokumenter", "Hovedmenunavn", sWhat)
if rs.bof = true and rs.eof = true then
    Response.Write("Record not found!")
else
    do until rs.eof = true
        if lcase(cstr(rs.fields("Hovedmenunavn").value)) = lcase(cstr(sWhat)) then
Rs.Fields("Hovedmenunavn").value = sHovedmenunavn
Rs.Fields("Overskrift").value = sOverskrift
Rs.Fields("Tekst").value = sTekst

            rs.UpdateBatch adAffectAll
            exit do
        end if
    rs.movenext
    Loop
end if
closecon
End Sub

Sub ShowOK
%>
<h4><B>Ændringerne er gemt</B></h4><p>
<A HREF="../dokumentoversigt.asp">Retur til Hovedmenu oversigten</A><br>
<A HREF="../../Administrator/adm.asp">Retur til hovedmenu</A><br>
<%
end Sub
%>
</body>
</html>

Fejlen - når jeg sætter den ind i selve formen - altså ved textarea er:

Microsoft VBScript runtime (0x800A000D)
Type mismatch: 'rs'
/Administration/Dokumenter/Hovedmenu/rethovedmenudokument.asp, line 55
Avatar billede goose Nybegynder
18. juli 2003 - 19:57 #6
Jamen så vidt jeg kan se henter du da ikke din tekst fra en database, men får den fra en form, prøv følgende:

<textarea name="Tekst" rows="20" cols="53"><%=sTekst%></textarea>

Hvilken linie er linie 55 ?

/Goose
Avatar billede simsen Mester
18. juli 2003 - 20:01 #7
Erstatter jeg linien under Sub LoadVars
sTekst = Rs.Fields("Tekst").value med

sTekst = Replace(rs("Tekst"),vbCrlf,"<br>")

Så sker der ingenting - den fejlmelder ikke - men kommer stadig ud med teksten i en streng

Og teksten i Databasen ser sådan ud:

Dette er en test på Hovedmenuindsættelse

Lad os se om det virker
Avatar billede simsen Mester
18. juli 2003 - 20:03 #8
Linie 55 er

<td><textarea name="Tekst" rows="20" cols="53"><% Response.WRite(sTekst) %> </textarea></td>
Avatar billede simsen Mester
18. juli 2003 - 20:08 #9
Har fået det til at virke - slettede alt med replace og skrev bare i Sub LoadWars:

sTekst = rs("Tekst")

Nu var det Jytte der ledte mig på sporet - men vil gerne dele pointene ml. jer - hvis det er ok med jer begge? :-)
Avatar billede goose Nybegynder
18. juli 2003 - 20:08 #10
Nu har jeg lige leget lidt med noget.
Hvis jeg gemmer en tekst i min database, og derefter igen trækker den ud i et textarea viser den fint linieskift og jeg har ikke brugt replace.
Jeg har testet på en access database.
Im out off here ......

/Goose
Avatar billede goose Nybegynder
18. juli 2003 - 20:10 #11
- fint nok med mig

/Goose
Avatar billede simsen Mester
18. juli 2003 - 20:14 #12
Så mangler jeg bare lige at Jytte, du gider at svare :-)
Avatar billede jytte Nybegynder
18. juli 2003 - 20:15 #13
Jeg ville have givet det samme svar som goose i "18/07-2003 19:57:58", men han kom først :-)

Og så en lille detalje:

dim varnavn    'kaldes at erklærer (eller deklarere) variablen varnavn
varnavn = 7    'kaldes at tildele variablen varnavn en værdi

ja undskyld jeg ved godt det er en peditesse, men man kan jo ligeså godt kalde tingene det de hedder :-)
Avatar billede simsen Mester
18. juli 2003 - 20:30 #14
Helt okai at kalde det hvad det er Jytte......det lærer jeg jo også af :-)

Jeg har ikke leget så meget med Asp endnu - og er rigtig glad for at der findes nogle, der gider at besvare mine mange spørgsmål - så takker :-)
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