29. december 2001 - 15:23Der er
20 kommentarer og 1 løsning
linieskift i textarea
Hej
Jeg har oprettet en nyhedsside, hvor man kan skrive nyheder ind, som så bliver gemt i en access database. Problemet er bare: Hvordan gemmer jeg, de linieskift som er blevet lavet, når nyheden skrives inde i textarea. So far får jeg kun text i en lang kører?
Gerne en udførlig forklaring/løsning da jeg ikke er 100 meter mester i asp.
jeg har sat koden ind her:
<% \' *** Edit Operations: declare variables
MM_editAction = CStr(Request(\"URL\")) If (Request.QueryString <> \"\") Then MM_editAction = MM_editAction & \"?\" & Request.QueryString End If
\' boolean to abort record edit MM_abortEdit = false
\' query string to execute MM_editQuery = \"\" %> <% \' *** Insert Record: set variables
\' create the MM_fields and MM_columns arrays MM_fields = Split(MM_fieldsStr, \"|\") MM_columns = Split(MM_columnsStr, \"|\")
\' set the form values For i = LBound(MM_fields) To UBound(MM_fields) Step 2 MM_fields(i+1) = CStr(Request.Form(MM_fields(i))) Next
\' append the query string to the redirect URL If (MM_editRedirectUrl <> \"\" And Request.QueryString <> \"\") Then If (InStr(1, MM_editRedirectUrl, \"?\", vbTextCompare) = 0 And Request.QueryString <> \"\") Then MM_editRedirectUrl = MM_editRedirectUrl & \"?\" & Request.QueryString Else MM_editRedirectUrl = MM_editRedirectUrl & \"&\" & Request.QueryString End If End If
End If %> <% \' *** Insert Record: construct a sql insert statement and execute it
If (CStr(Request(\"MM_insert\")) <> \"\") Then
\' create the sql insert statement MM_tableValues = \"\" MM_dbValues = \"\" For i = LBound(MM_fields) To UBound(MM_fields) Step 2 FormVal = MM_fields(i+1) MM_typeArray = Split(MM_columns(i+1),\",\") Delim = MM_typeArray(0) If (Delim = \"none\") Then Delim = \"\" AltVal = MM_typeArray(1) If (AltVal = \"none\") Then AltVal = \"\" EmptyVal = MM_typeArray(2) If (EmptyVal = \"none\") Then EmptyVal = \"\" If (FormVal = \"\") Then FormVal = EmptyVal Else If (AltVal <> \"\") Then FormVal = AltVal ElseIf (Delim = \"\'\") Then \' escape quotes FormVal = \"\'\" & Replace(FormVal,\"\'\",\"\'\'\") & \"\'\" Else FormVal = Delim + FormVal + Delim End If End If If (i <> LBound(MM_fields)) Then MM_tableValues = MM_tableValues & \",\" MM_dbValues = MM_dbValues & \",\" End if MM_tableValues = MM_tableValues & MM_columns(i) MM_dbValues = MM_dbValues & FormVal Next MM_editQuery = \"insert into \" & MM_editTable & \" (\" & MM_tableValues & \") values (\" & MM_dbValues & \")\"
If (Not MM_abortEdit) Then \' execute the insert Set MM_editCmd = Server.CreateObject(\"ADODB.Command\") MM_editCmd.ActiveConnection = MM_editConnection MM_editCmd.CommandText = MM_editQuery MM_editCmd.Execute MM_editCmd.ActiveConnection.Close
If (MM_editRedirectUrl <> \"\") Then Response.Redirect(MM_editRedirectUrl) End If End If
End If %> <% set nyheder = Server.CreateObject(\"ADODB.Recordset\") nyheder.ActiveConnection = MM_cdsj_STRING nyheder.Source = \"SELECT * FROM fnyheder ORDER BY dato ASC\" nyheder.CursorType = 0 nyheder.CursorLocation = 2 nyheder.LockType = 3 nyheder.Open() nyheder_numRows = 0 %> <html>
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
If (i <> LBound(MM_fields)) Then MM_tableValues = MM_tableValues & \",\" MM_dbValues = MM_dbValues & \",\" End if MM_tableValues = MM_tableValues & MM_columns(i) MM_dbValues = MM_dbValues & FormVal Next *** mm_dbValues = Replace(MM_dbValues, VbCrLf, \"<BR>\") MM_editQuery = \"insert into \" & MM_editTable & \" (\" & MM_tableValues & \") values (\" & MM_dbValues & \")\"
If (Not MM_abortEdit) Then \' execute the insert Set MM_editCmd = Server.CreateObject(\"ADODB.Command\") MM_editCmd.ActiveConnection = MM_editConnection MM_editCmd.CommandText = MM_editQuery MM_editCmd.Execute MM_editCmd.ActiveConnection.Close
Man kan også rette i nyhederne efter de er skrevet ind. Hvis man skal rette en nyhed kommer den frem i et textarea, men her står \"<br>\" kan jeg så lave disse om til linieskift, samt, når den rettede nyhed gemmes, lave både gl. og nye linieskift om til <br> igen?
jeg har prøvet at sætte samme sætning ind i følgende kode, men det ser ikke helt ud til at du. (sætningen er ikke med her)
<% \' *** Edit Operations: declare variables
MM_editAction = CStr(Request(\"URL\")) If (Request.QueryString <> \"\") Then MM_editAction = MM_editAction & \"?\" & Request.QueryString End If
\' boolean to abort record edit MM_abortEdit = false
\' query string to execute MM_editQuery = \"\" %> <% \' *** Update Record: set variables
If (CStr(Request(\"MM_update\")) <> \"\" And CStr(Request(\"MM_recordId\")) <> \"\") Then
\' create the MM_fields and MM_columns arrays MM_fields = Split(MM_fieldsStr, \"|\") MM_columns = Split(MM_columnsStr, \"|\")
\' set the form values For i = LBound(MM_fields) To UBound(MM_fields) Step 2 MM_fields(i+1) = CStr(Request.Form(MM_fields(i))) Next
\' append the query string to the redirect URL If (MM_editRedirectUrl <> \"\" And Request.QueryString <> \"\") Then If (InStr(1, MM_editRedirectUrl, \"?\", vbTextCompare) = 0 And Request.QueryString <> \"\") Then MM_editRedirectUrl = MM_editRedirectUrl & \"?\" & Request.QueryString Else MM_editRedirectUrl = MM_editRedirectUrl & \"&\" & Request.QueryString End If End If
End If %> <% \' *** Update Record: construct a sql update statement and execute it
If (CStr(Request(\"MM_update\")) <> \"\" And CStr(Request(\"MM_recordId\")) <> \"\") Then
\' create the sql update statement MM_editQuery = \"update \" & MM_editTable & \" set \" For i = LBound(MM_fields) To UBound(MM_fields) Step 2 FormVal = MM_fields(i+1) MM_typeArray = Split(MM_columns(i+1),\",\") Delim = MM_typeArray(0) If (Delim = \"none\") Then Delim = \"\" AltVal = MM_typeArray(1) If (AltVal = \"none\") Then AltVal = \"\" EmptyVal = MM_typeArray(2) If (EmptyVal = \"none\") Then EmptyVal = \"\" If (FormVal = \"\") Then FormVal = EmptyVal Else If (AltVal <> \"\") Then FormVal = AltVal ElseIf (Delim = \"\'\") Then \' escape quotes FormVal = \"\'\" & Replace(FormVal,\"\'\",\"\'\'\") & \"\'\" Else FormVal = Delim + FormVal + Delim End If End If If (i <> LBound(MM_fields)) Then MM_editQuery = MM_editQuery & \",\" End If MM_editQuery = MM_editQuery & MM_columns(i) & \" = \" & FormVal Next MM_editQuery = MM_editQuery & \" where \" & MM_editColumn & \" = \" & MM_recordId
If (Not MM_abortEdit) Then \' execute the update Set MM_editCmd = Server.CreateObject(\"ADODB.Command\") MM_editCmd.ActiveConnection = MM_editConnection MM_editCmd.CommandText = MM_editQuery MM_editCmd.Execute MM_editCmd.ActiveConnection.Close
If (MM_editRedirectUrl <> \"\") Then Response.Redirect(MM_editRedirectUrl) End If End If
End If %> <% Dim nyheder__MMColParam nyheder__MMColParam = \"1\" if (Request.QueryString(\"newsid\") <> \"\") then nyheder__MMColParam = Request.QueryString(\"newsid\") %> <% set nyheder = Server.CreateObject(\"ADODB.Recordset\") nyheder.ActiveConnection = MM_cdsj_STRING nyheder.Source = \"SELECT * FROM fnyheder WHERE newsid = \" + Replace(nyheder__MMColParam, \"\'\", \"\'\'\") + \"\" nyheder.CursorType = 0 nyheder.CursorLocation = 2 nyheder.LockType = 3 nyheder.Open() nyheder_numRows = 0 %> <html>
Det havde jeg næsten regnet ud, men jeg kan ikke helt få det til at virke.
Kan du hjælpe med det?
ovenstående er koden til at rette nyheden med, og nedenstående er selve html koden hvor textarea laves <textarea name=\"frm_besked\" cols=\"43\" rows=\"5\"><%=(nyheder.Fields.Item(\"besked\").Value)%></textarea>
ok, så er jeg med, jeg misforstod lidt hvad du mente, men kan godt se fornuften i det nu. Det virker, nu bliver det dog ikke gemt linieskift nå jeg har rettet.
jeg har prøvet den første sætningen, men den dur ikke, og jeg kan ikke helt se hvilken variable det bliver smidt i når jeg gemmer
\' create the MM_fields and MM_columns arrays MM_fields = Split(MM_fieldsStr, \"|\") MM_columns = Split(MM_columnsStr, \"|\")
\' set the form values For i = LBound(MM_fields) To UBound(MM_fields) Step 2 MM_fields(i+1) = CStr(Request.Form(MM_fields(i))) Next
\' append the query string to the redirect URL If (MM_editRedirectUrl <> \"\" And Request.QueryString <> \"\") Then If (InStr(1, MM_editRedirectUrl, \"?\", vbTextCompare) = 0 And Request.QueryString <> \"\") Then MM_editRedirectUrl = MM_editRedirectUrl & \"?\" & Request.QueryString Else MM_editRedirectUrl = MM_editRedirectUrl & \"&\" & Request.QueryString End If End If
End If %> <% \' *** Update Record: construct a sql update statement and execute it
If (CStr(Request(\"MM_update\")) <> \"\" And CStr(Request(\"MM_recordId\")) <> \"\") Then
\' create the sql update statement MM_editQuery = \"update \" & MM_editTable & \" set \" For i = LBound(MM_fields) To UBound(MM_fields) Step 2 FormVal = MM_fields(i+1) MM_typeArray = Split(MM_columns(i+1),\",\") Delim = MM_typeArray(0) If (Delim = \"none\") Then Delim = \"\" AltVal = MM_typeArray(1) If (AltVal = \"none\") Then AltVal = \"\" EmptyVal = MM_typeArray(2) If (EmptyVal = \"none\") Then EmptyVal = \"\" If (FormVal = \"\") Then FormVal = EmptyVal Else If (AltVal <> \"\") Then FormVal = AltVal ElseIf (Delim = \"\'\") Then \' escape quotes FormVal = \"\'\" & Replace(FormVal,\"\'\",\"\'\'\") & \"\'\" Else FormVal = Delim + FormVal + Delim End If End If If (i <> LBound(MM_fields)) Then MM_editQuery = MM_editQuery & \",\" End If MM_editQuery = MM_editQuery & MM_columns(i) & \" = \" & FormVal
Next MM_editQuery = MM_editQuery & \" where \" & MM_editColumn & \" = \" & MM_recordId
If (Not MM_abortEdit) Then \' execute the update Set MM_editCmd = Server.CreateObject(\"ADODB.Command\") MM_editCmd.ActiveConnection = MM_editConnection MM_editCmd.CommandText = MM_editQuery MM_editCmd.Execute MM_editCmd.ActiveConnection.Close
If (MM_editRedirectUrl <> \"\") Then Response.Redirect(MM_editRedirectUrl) End If End If
End If %> <% Dim nyheder__MMColParam nyheder__MMColParam = \"1\" if (Request.QueryString(\"newsid\") <> \"\") then nyheder__MMColParam = Request.QueryString(\"newsid\") %> <%
Jeg er ved at fatte lidt af koderne... Men måden du har lavet din SQL på gør det lidt vanskeligt... Men jeg giver ikke op, skal nok finde en løsning...
Prøv med \' set the form values For i = LBound(MM_fields) To UBound(MM_fields) Step 2 MM_fields(i+1) = CStr(Request.Form(MM_fields(i))) If MM_fields(i) = \"frm_besked\" then MM_fields(i+1) = Replace(MM_Fields(i+1), vbCrLf, \"<BR>\") End if Next
Glad for at kunne hjælpe... *SS* Spørg endelig hvis du skal bruge mere hjælp...
/trier :-)
Synes godt om
Ny brugerNybegynder
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.