Avatar billede tblaster Nybegynder
22. august 2005 - 17:35 Der er 15 kommentarer og
2 løsninger

Textarea overføre ikke alt tekst hvis man laver et linieskift

Hejsa

Jeg har et textara som følgende:

<TEXTAREA name=Tekst cols=65 rows=10 id="Tekst"></TEXTAREA>

Når man så i tekst feltet på min side angiver en tekst med linieskift, dette kunne være:

------------------------
Dette er en test.

Her er også lidt tekst.
------------------------

Så får jeg kun overført følgende til min næste side: "Dette er en test.". Jeg tror det har noget at gøre med at det overføres sammen med en upload igennem aspupload. Kan dette passe? Og er der nogen der har nogle muligheder for at hjælpe mig?

Evt. tænkte jeg på om der var nogen der kunne hjælpe med et javascript der kunne opdater mit tekstfelt når man submitter siden, således at alle linieskifts blev erstattet med "<br>".
Avatar billede softspot Forsker
22. august 2005 - 17:43 #1
Du kan benytte flg. javascript til at erstatte linieskift med (udskift FORM med navnet på din form):

document.FORM.Tekst.value = document.FORM.Tekst.value.replace('\n','<br>');

Jeg har lidt på fornemmelsen at det er symptombehandling, men du kan jo se om det fungerer... :)
Avatar billede keysersoze Ekspert
22. august 2005 - 17:44 #2
hvorhenne kan du se at al teksten ikke kommer med? hvis du kigger i databasen (i hvert fald hvis det er access) så kan du ikke umiddelbart se linieskift i databasen
Avatar billede tblaster Nybegynder
22. august 2005 - 17:51 #3
Teksten bliver vist til brugeren på siden og sendt i en mail så derfor er jeg sikker på at den ikke kommer med.

Softspot ... din løsninger virker ikke. Skriver jeg følgende:
--------------------------
Dette er en test!

Her tester jeg også<br><br>her var nogle br'er

Og sådan skal det være!
--------------------------

Opdateres det til følgende:

--------------------------
Dette er en test!
<br>
Her tester jeg også<br><br>her var nogle br'er

Og sådan skal det være!
-------------------------

Men jeg får stadig kun følgende frem på min næste side: "Dette er en test!"
Avatar billede tblaster Nybegynder
22. august 2005 - 17:53 #4
Hele min form postes igennem følgende:

<FORM NAME="MyForm" ID="MyForm" METHOD="POST" ENCTYPE="multipart/form-data"
            ACTION="Uploadbar/Upload_Indsend.asp?<% = PID %>"
            OnSubmit="return ShowProgress();">

Og på siden upload_indsend.asp henter jeg min tekst vha følgende:
Session("Tekst") = Upload.Form("Tekst")
Avatar billede softspot Forsker
22. august 2005 - 17:56 #5
Hvad ligger der af serverside script til denne side?
Avatar billede softspot Forsker
22. august 2005 - 17:56 #6
(du må gerne vise noget kode ;))
Avatar billede tblaster Nybegynder
22. august 2005 - 17:57 #7
er ikke lige med på hvad du mener?
Avatar billede tblaster Nybegynder
22. august 2005 - 18:01 #8
upload_indsend.asp
------------------
Set Upload = Server.CreateObject("Persits.Upload")
Upload.ProgressID = Request.QueryString("PID")
Upload.OverwriteFiles = False

Count = Upload.Save("X:\Web\just2funny.dk\wwwroot\Indsendt")

' Henter information
Session("Kategori") = Upload.Form("Kategori")
Session("Url")         = Upload.Form("Url")
Session("Titel")     = Upload.Form("Titel")
Session("Tekst")     = Upload.Form("Tekst")

' Sender brugeren tilbage
Response.Redirect "../Indsend.asp?Indsendt=True&Kategori=" & Session("Kategori") & "&Url=" & Session("Url") & "&Titel=" & Session("Titel") & "&Tekst=" & Session("Tekst") & "&Antal=" & Count & "&Filer=" & Filer
------------------

indsend.asp - delen vises efter at filerne er uploaded
------------------
' Tømmer session værdier
Session("Kategori") = ""
Session("Url")         = ""
Session("Titel")     = ""
Session("Tekst")     = ""

' Henter værdier
RQ_Indsendt = Request("Indsendt")
RQ_Kategori = Request("Kategori")
RQ_Url         = Request("Url")
RQ_Titel     = Request("Titel")
RQ_Tekst     = Request("Tekst")
RQ_Antal    = cint(Request("Antal"))
RQ_Filer    = Request("Filer")

Response.write Tekst
------------------

indsend.asp - delen vises inden at filerne er uploaded
------------------
    Set UploadProgress = Server.CreateObject("Persits.UploadProgress")
    PID = "PID=" & UploadProgress.CreateProgressID()
    barref = "Uploadbar/framebar.asp?to=10&" & PID
    %>
        <FORM NAME="MyForm" ID="MyForm" METHOD="POST" ENCTYPE="multipart/form-data"
            ACTION="Uploadbar/Upload_Indsend.asp?<% = PID %>"
            OnSubmit="return ShowProgress();">
    <%
    Str = "<Span class=adresse>Har du et fedt billede, filmklip, joke, lydfil eller andet du mener skal på Just2Funny? Så har du muligheden her!<br><br><br></Span>"
   
    Str = Str & "<Span class=brod>Følg venligst følgende retningslinier:<br>"
    Str = Str & "1. Indsend ingen ulovlige ting, det vil sige børnoporno og lignende.<br>"
    Str = Str & "2. Undgå venligst, så vidt muligt, at indsende indhold som allerede ligger i systemet.<br>"
    Str = Str & "3. Indsend kun data som du har rettigheder på eller der ikke er kopi beskyttet.</Span><br><br>"
    Str = Str & "<table border=""0"" id=""table2"">"
    Str = Str & "    <tr>"
    Str = Str & "        <td width=""70""><Span class=adresse>Kategori</td>"
    Str = Str & "        <td width=""30""><Span class=adresse>:</td>"
    Str = Str & "        <td>"
    Str = Str & "            <select size=""1"" name=""Kategori"">"
    Str = Str & "            <option value=""Anden"">- Anden -</option>"
                           
                            dbOpen()
                           
                            Sql = "SELECT Navn, ID From Kategorier Where ID > 1 and ParentID = 0 and Navn <> ""SMS"" and Navn <> ""Donationer"" Order By Navn"
                            Set Rs = Conn.Execute(Sql)
                           
                            Do while not rs.eof
                                Str = Str & "<option value=""" & rs("ID") & """>" & rs("Navn") & "</option>"
                                rs.movenext
                            Loop
                           
                            dbClose()
                           
    Str = Str & "            </select>"
    Str = Str & "        </td>"
    Str = Str & "    </tr>"
    Str = Str & "    <tr>"
    Str = Str & "        <td width=""70"" valign=""top""><Span class=adresse>Fil</td>"
    Str = Str & "        <td width=""30"" valign=""top""><Span class=adresse>:</td>"
    Str = Str & "        <td><span font-size:11px; font-family:arial,verdana;>"
    Str = Str & "        <DIV ID=files><input name=""FILE1"" type=""file"" id=""file"" size=66></DIV>"
    Str = Str & "        <INPUT Type=button Value=""Tilføj en ekstra fil"" OnClick=return(Expand())>"
    Str = Str & "        </span></td>"
    Str = Str & "    </tr>"
    Str = Str & "    <tr>"
    Str = Str & "        <td width=""70""><Span class=adresse>Url</td>"
    Str = Str & "        <td width=""30""><Span class=adresse>:</td>"
    Str = Str & "        <td><span font-size:11px; font-family:arial,verdana;>"
    Str = Str & "        <INPUT name=url id=""url"" size=66></span></td>"
    Str = Str & "    </tr>"
    Str = Str & "    <tr>"
    Str = Str & "        <td width=""70""><Span class=adresse>Titel</td>"
    Str = Str & "        <td width=""30""><Span class=adresse>:</td>"
    Str = Str & "        <td><span font-size:11px; font-family:arial,verdana;>"
    Str = Str & "        <INPUT name=titel id=""titel"" size=66></span></td>"
    Str = Str & "    </tr>"
    Str = Str & "    <tr>"
    Str = Str & "        <td width=""70"" valign=""top""><Span class=adresse>Tekst</td>"
    Str = Str & "        <td width=""30"" valign=""top""><Span class=adresse>:</td>"
    Str = Str & "        <td><span font-size:11px; font-family:arial,verdana;> "
    Str = Str & "        <TEXTAREA name=""Tekst"" cols=65 rows=10 wrap=""virtual"" id=""Tekst""></TEXTAREA></span></td>"
    Str = Str & "    </tr>"
    Str = Str & "    <tr>"
    Str = Str & "        <td width=""70"">&nbsp;</td>"
    Str = Str & "        <td width=""30"">&nbsp;</td>"
    Str = Str & "        <td>&nbsp;</td>"
    Str = Str & "    </tr>"
    Str = Str & "    <tr>"
    Str = Str & "        <td width=""70"">&nbsp;</td>"
    Str = Str & "        <td width=""30""></td>"
    Str = Str & "        <td><Span class=brod><input type=""checkbox"" onClick=""accepter();"" Checked name=""Accepter"" value=""True""> Jeg accepter retningslinjerne og at Just2Funny frit benytter mit materiale</td>"
    Str = Str & "    </tr>"
    Str = Str & "    <tr>"
    Str = Str & "        <td width=""70"">&nbsp;</td>"
    Str = Str & "        <td width=""30"">&nbsp;</td>"
    Str = Str & "        <td>&nbsp;</td>"
    Str = Str & "    </tr>"
    Str = Str & "    <tr>"
    Str = Str & "        <td width=""70"">&nbsp;</td>"
    Str = Str & "        <td width=""30"">&nbsp;</td>"
    Str = Str & "        <td><span font-size:11px; font-family:arial,verdana;><INPUT name=""Upload"" onClick=""txtrp();"" type=""SUBMIT"" id=""Indsend"" value=""Indsend""></span></td>"
    Str = Str & "    </tr>"
    Str = Str & "</table>"
   
    ' Udskriver strengen
    Response.write Str   
------------------
Avatar billede tblaster Nybegynder
22. august 2005 - 18:04 #9
Og måske også lige et link :-D

http://www.just2funny.dk/indsend.asp
Avatar billede keysersoze Ekspert
22. august 2005 - 18:27 #10
du kan ikke føre linieskift med i querystring som du forsøger med din response.redirect - i hvert fald ikke medmindre du replacer linieskiftet med et forståeligt tegn fx *
Avatar billede softspot Forsker
22. august 2005 - 18:33 #11
Det der umiddelbart "bekymrer" mig ved den kode du viser er dit redirect. Jeg har ikke meget tiltro til querystringparametre, da mængden af data der kan sendes som sådan er begrænset. Jeg er klar over at du nok ikke sender så meget data, men med 10 år i branchen får man sådan en "gutfeeling" om nogle ting :)

Anyway! Så vil jeg umiddelbart foreslå at du bare poster tilbage til indsend.asp og i toppen der tager stilling til om det er et post eller om det er en normal visning. Dette er set gjort således:

if request.form("upload") <> "" then
  ' så er det et post via submit-knappen Upload og du kan udføre save osv.
else
  ' så er det et kald til siden på anden vis og du kan bygge siden op som normalt
end if

Det vil bevirke at du ikke skal lave redirect, hvilket jeg tror er årsagen til dine problemer...
Avatar billede tblaster Nybegynder
22. august 2005 - 19:49 #12
Nu er det en gammel kode som jeg har redigeret i og såvidt jeg husker, så er den måde med en redirect og parameter, den eneste måde at arbejde med værdierne der overføres igennem aspupload. Men hvordan kan jeg lave et automatisk submit og så sende informationerne via input og text felter?

Desuden så har jeg prøvet følgende:
Session("Tekst")     = Replace(Upload.Form("Tekst"), "\n", "<br>")

Men jeg får stadig ikke den rigtige tekst over. Dette sikre jo at der ikke overføres linieskift i min querry.
Avatar billede keysersoze Ekspert
22. august 2005 - 20:08 #13
der er masser af andre måder du kan gøre det på - du kan benytte sessions eller cookies, du kan opbygge en html-side med tilsvarende formelementer og vha javascript submitte siden, du kan sammenbygge det til én side så du slipper for at viderestille, du kan (såfremt du bruger en database) hente værdierne derfra vha et id-nummer...

og det du på nuværende tidspunkt prøver med en session vil ikke fungere fordi du forsøger at replace noget forkert - du skal erstatte VbCrLf i stedet for \n og endelig er det heller ikke en super idé at forsøge at sende <br> med (det kan dog til nød gå når det kun er til en session;

Session("Tekst")    = Replace(Upload.Form("Tekst"), VbCrLf, "<br>")
Avatar billede tblaster Nybegynder
22. august 2005 - 20:45 #14
Jeg tror jeg vil glemme den gamle kode og lave en ny fra bunden! Smid et svar I 2, så kan I begge få lidt point for jeres hjælp!

Takker!
Avatar billede softspot Forsker
22. august 2005 - 21:10 #15
Så får du et svar fra mig da. Håber du får det til at fungere... ellers hører vi nok fra dig igen :)
Avatar billede keysersoze Ekspert
22. august 2005 - 23:21 #16
kommer også lige med et hurtigt her
Avatar billede softspot Forsker
23. august 2005 - 00:01 #17
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