Avatar billede lightbrain Nybegynder
27. juli 2002 - 22:11 Der er 7 kommentarer og
2 løsninger

Db -> textarea

Nej

Jeg har et textarea, hvorfra jeg indsætter noget tekst fra en database - det virker fint.

<textarea name="tekst" onKeyUp="validerMens(this, 'loebende')" onClick="this.form.Ok.disabled = false" cols="92" rows="27" style="font-family: Trebuchet MS"><%hentFraDB("tekst")%></textarea></p>

Men så koblede jeg en javascript-funktion på, som erstatter f.eks. <b> til et linieskift osv. Så derfor skrev jeg:

<textarea name="tekst" onKeyUp="validerMens(this, 'loebende')" onClick="this.form.Ok.disabled = false" cols="92" rows="27" style="font-family: Trebuchet MS"><script>erstat("<%hentFraDB("tekst")%>")</script></textarea></p>

Men nu indsætter den den gudhjælpende også koden i textarea'en, så det bliver en ikke særlig køn blanding af først kode og så indeholdet fra databasen og derefter lidt kode igen.

Hjælp! Hvordan får sidstnævnte til at virke?
Avatar billede =maddog= Nybegynder
27. juli 2002 - 23:34 #1
du må ikke have HTML imellem to textarea tags. at det har virket skyldes sikkert et mirakel.
flyt dine script tags uden for tekstarea og skriv istedet
document.formentextarealiggeri.tekst.value = erstat(document.formentextarealiggeri.tekst.value)
Avatar billede lightbrain Nybegynder
28. juli 2002 - 11:14 #2
Du kunne vel ikke vise mig hvordan? Helt konkret hvordan skal koden så se ud?

PS. Husk at trykke svar.
Avatar billede Slettet bruger
28. juli 2002 - 12:17 #3
<textarea name="tekst" onKeyUp="validerMens(this, 'loebende')" onClick="this.form.Ok.disabled = false" cols="92" rows="27" style="font-family: Trebuchet MS"></textarea>
<script>
document.formNavn.tekst.value = erstat("<%hentFraDB("tekst")%>");
</script>

Men hvorfor erstatter du ikke bare tegnene i ASP? Det er da meget smartere!
Avatar billede Slettet bruger
28. juli 2002 - 12:18 #4
P.S. Det er de færreste, der har Trebuchet MS installeret. Vælg også en lidt sikrere skrifttype som nødløsning!

Og så skulle jeg jo lige trykke Svar... Sådan!
Avatar billede =maddog= Nybegynder
28. juli 2002 - 13:14 #5
Hvad siger du til jeg nasser lidt point phoenixv? Lightbrain, du skal bare afvise mig. Jeg bliver helt ustyrlig ellers :).
Avatar billede lightbrain Nybegynder
28. juli 2002 - 15:57 #6
>Men hvorfor erstatter du ikke bare tegnene i ASP? Det er da meget smartere!
Hermed gjort - det var i hvert fald også en hel del nemmere. Nu virker det, tak til jer :-)

Således ser løsningen nu ud - det blev til en ren asp-løsning... og i javascript-forum he he ;)

Har I nogen kommentarer? (I så fald ikke, skal I have mange tak for hjælpen)

________________________________________________

<textarea name="tekst" onKeyUp="validerMens(this, 'loebende')" onClick="this.form.Ok.disabled = false" cols="92" rows="27" style="font-family: Trebuchet MS"><%hentFraDB("tekst")%></textarea>

<%

function hentFraDB(vis)

    if Request.ServerVariables("REQUEST_METHOD") = "GET" then

        strSQL = "select * from artikel where nr = " & Request.QueryString("nr")
        set rs = Conn.execute(strSql)
        if vis = "titel" then
            Response.Write MyReplace(rs("titel"), "DBToScreen")
        elseif vis = "forfatter" then
            Response.Write MyReplace(rs("forfatter"), "DBToScreen")
        elseif vis = "tekst" then
            Response.Write MyReplace(rs("tekst"), "DBToScreen")
        end if
    end if
   
end function

if Request.ServerVariables("REQUEST_METHOD") = "POST" then

    strSQL = "UPDATE ARTIKEL set tekst = '" & MyReplace(Request.form("tekst"), "screenToDB") & "' WHERE nr = " & Request.form("nr")
    set rs = Conn.execute(strSQL)
    status = "Artiklen " & Chr(34) & MyReplace(Request.form("titel"), "screenToDB") & Chr(34) & " er blevet oprettet/opdateret."
    response.redirect ("index.asp?status=" & status)

end if

function MyReplace (replaceStr, type1)

    if type1 = "screenToDB" then
        replaceStr = Replace(replaceStr, Chr(39), "´")
        replaceStr = Replace(replaceStr, Chr(34), "&quot;")
        replaceStr = Replace(replaceStr, vbCrlf, "<br>")

    elseif type1 = "DBToScreen" then
        replaceStr = Replace(replaceStr, "´", Chr(39))
        replaceStr = Replace(replaceStr, "&quot;", Chr(34))
        replaceStr = Replace(replaceStr, "<br>", vbCrlf)
    end if
   
      MyReplace = replaceStr
 
end function

%>
Avatar billede lightbrain Nybegynder
28. juli 2002 - 16:31 #7
Hjælp - nu virker det ikke den anden vej, dvs. "screenToDB": http://www.eksperten.dk/spm/240457
Avatar billede =maddog= Nybegynder
28. juli 2002 - 17:33 #8
ideén med at lave det i javascript er jo sådan set at flytte regneopgaver fra den stakkels server til hr. og fru Hests Pentium 4 der bare venter på at få nogle tal at rive i..
Men hvis man ikke har så mange besøgende kan det jo være ligemeget *gnæk* *gnæk*.
Avatar billede lightbrain Nybegynder
28. juli 2002 - 17:42 #9
...hr. og fru Hests Pentium 4 der bare venter på at få nogle tal at rive i.
He he, som du dog kan udtrykke dig :-)

Kan du ikke også lige kigge på: http://www.eksperten.dk/spm/240457
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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