Avatar billede tryout Nybegynder
24. december 2003 - 14:18 Der er 12 kommentarer

opbrydning af tekst

Jeg har lavet en simpel gæstebog til min side, mit problem er, at hvis brugeren ikke selv laver linjeskift, vil han være i stand til at forøge bredden på det tabel-element som teksten kommer frem i.

Jeg har derfor brug for en funktion som kan bryde teksten op i passende dele når det er nødvendigt.
Avatar billede zkiifreak Nybegynder
24. december 2003 - 15:22 #1
Bare sæt en width på din tabel... Så simpelt:
<table width=150> hvor 150 er pixels. Du kan også angive det i procent, så ser det således ud:
<table width=54%>
Du tilpasser selvf bare værdierne, så de fitter til dit design.
Avatar billede socle Nybegynder
26. december 2003 - 00:34 #2
hvordan det? erstatter du " " med "&nbsp;" eller sådan noget?
Avatar billede tryout Nybegynder
26. december 2003 - 20:03 #3
zkiifreak, det virker ikke, hvis indholdet af tabel-element er over lad os sige 150px, så vil tabellen tilpasse sig indholdet automatisk.

eks.

<HTML>
<HEAD>
    <TITLE>test</TITLE>
</HEAD>
<BODY>
<table width="50">
<tr>
<td>
<p>kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk</p>
</td>
</tr>
</table>
</BODY>
</HTML>
Avatar billede zkiifreak Nybegynder
27. december 2003 - 18:49 #4
Så angiv det i %.... SOm jeg forklarede ovenfor, så burde indholdet tilpasse sig rammen... Ellers send mig din kode her, for det kan jo være noget andet. Jeg kan bare ikke lige tænke på andet lige pt. Men hvis det heller ej virker med %, så skal jeg da gerne give din kode et kig og se, om jeg kan løse det for dig. ;)

ZkiiFreak
Avatar billede tryout Nybegynder
28. december 2003 - 18:17 #5
Procent, virker heller ikke.

KODE:
' Henter ting fra databasen

    strSQL = "SELECT * FROM "&Data&" ORDER BY Dato DESC;"
    Set myConn = Server.CreateObject("ADODB.Connection")
    myConn.Open DSN
    Set rs = myConn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then
        Do While Not rs.EOF
            dtmDato = rs("Dato")
            dtmDato = FormatDateTime(dtmDato, vbShortDate)
Response.Write "<table width=""512""><tr><td  height=""24"" width=""100%"">" & "<a href=mailto:" & rs("Email") & ">" & rs("Navn") & "</a></td><td width=""100%""><p align=""right""><B>Dato:</b>" & dtmDato & "</p></td></tr>"
            If Len(rs("Email")) > 0 Then
                Response.Write "<tr><td colspan=""2""></td></tr>"
            Else
                Response.Write "<tr><td colspan=""2""><font face=verdana size=2><strong>" & rs("Navn") & " skriver:</strong></td></tr>"
            End If
            Response.Write "<tr><td bgcolor=""#12192A"" colspan=""2"" class=""MenuItem"">" & rs("Kommentar") & "<br>&nbsp;</td></tr></table><br>"
            rs.MoveNext
        Loop
        Response.Write "</table>"
    Else
        Response.Write "<p><font face=verdana size=2>Der er endnu ikke nogle der har skrevet i gæstebogen</font></p>"
    End If
    myConn.Close
    Set myConn = Nothing

-Hvis det er spørgsmål til koden må i endelig skrive v.h. Tryout
Avatar billede zkiifreak Nybegynder
29. december 2003 - 18:21 #6
Tror problemet ligger i, at du bruger dobbelt " altså "", det fatter asp ikk... Har du haft held med alt det her på en anden side??
Laver lige noget kode, som jeg lægger ud her...
10 minutter eller ngt lign...
Avatar billede zkiifreak Nybegynder
29. december 2003 - 18:28 #7
<%
    strSQL = "SELECT * FROM "&Data&" ORDER BY Dato DESC;"
    Set myConn = Server.CreateObject("ADODB.Connection")
    myConn.Open DSN
    Set rs = myConn.Execute(strSQL)
    If Not (rs.BOF Or rs.EOF) Then
        Do While Not rs.EOF
            dtmDato = rs("Dato")
            dtmDato = FormatDateTime(dtmDato, vbShortDate)
Response.Write "<table width=")%>"512"<% response.Write("><tr><td  height=")%>"24"<% response.Write(" width=")%>"100%"<% response.Write(">" & "<a href=mailto:" & rs("Email") & ">" & rs("Navn") & "</a></td><td width=")%>"100%"<% response.Write("><p align=")%>"right"<% response.Write("><B>Dato:</b>" & dtmDato & "</p></td></tr>")
            If Len(rs("Email")) > 0 Then
                Response.Write ("<tr><td colspan=")%>"2"<% response.Write("></td></tr>")
            Else
                Response.Write ("<tr><td colspan=")%>"2"<% Response.Write("><font face=verdana size=2><strong>" & rs("Navn") & " skriver:</strong></td></tr>")
            End If
            Response.Write ("<tr><td bgcolor=")%>"#12192A"<% response.Write(" colspan=")%>"2"<% response.Write(" class=")%>"MenuItem"<% response.Write(">" & rs("Kommentar") & "<br>&nbsp;</td></tr></table><br>"
            rs.MoveNext
        Loop
        Response.Write "</table>"
    Else
        Response.Write "<p><font face=verdana size=2>Der er endnu ikke nogle der har skrevet i gæstebogen</font></p>"
    End If
    myConn.Close
    Set myConn = Nothing
%>

Prøv med det her...
Avatar billede zkiifreak Nybegynder
29. december 2003 - 18:31 #8
hov for pokker, opdagede lige at je i første response.write linie mangler en (. Tror nok, at det er ligemeget, med de andre jeg har udeladt...
Meld lige tilbage, om det virker!
Avatar billede tryout Nybegynder
30. december 2003 - 19:08 #9
Du har ret i at de dobbelte "" tegn ikke er nødvendige, over det hele, der kun der hvor der står f.eks. width=""100%"" ellers tror ASP, at procent tegnet er et ASP-tag. Med hensyn til problemet, tror jeg ikke det er det rigtige vi er ude i, har du prøvet at køre den kode jeg postede tidligere.
Html kan ikke finde ud af, at bryde en streng op så indholdet passer til den angivne tabel-størrelse, derimod tilpasser den tabellen til at passe til indholdet.
Avatar billede zkiifreak Nybegynder
30. december 2003 - 22:44 #10
Hej tryout!
Har prøvet med nedenstående kode, hvor det virker fint for mig. Alt efter hvad jeg skriver af værdier, tilpasser teksten sig til tabellen sig, og teksten ombrydes... Så det er mig lidt en gåde, hvorfor det ikke virker for dig!
Jeg har i min kode erstattet dine database indsættelser med en testvariabel og så fremdeles, som du ser, men pricippet er det samme. Ligeledes har jeg prøvet at fjerne det der colspan-knald du havde, det ændrede for som sådan intet med om teksten blev ombrudt. Hvad gemmer du din "kommentar" som i databasen? TEXT eller VARCHAR...?
Kode:
dim testvar
testvar=1
  If Not testvar=0 Then
        Do While Not testvar=15
   
Response.Write ("<table width=")%>"300"<% response.Write("><tr><td  height=")%>"24"<% response.Write(" width=")%>"50%"<% response.Write(">" & "<a href=mailto:" & testvar & ">" & testvar & "</a></td><td width=")%>"100%"<% response.Write("><p align=")%>"right"<% response.Write("><B>Dato:</b>" & testvar & "</p></td></tr>")
            If testvar < 0 Then
                Response.Write ("<tr><td>Her er en test på om det virker med at den finder ud af, at den skal bryde i teksten... Det er ikke til at sige...</td></tr>")
            Else
                Response.Write ("<tr><td><font face=verdana size=2><strong>" & testvar & " skriver:</strong></td></tr>")
            End If
            Response.Write ("<tr><td bgcolor=")%>"#12192A"<% response.Write(">Her er igen igen en åndet test<br>&nbsp;</td></tr></table><br>")
            testvar = testvar + 1
        Loop
        Response.Write "</table>"
    Else
        Response.Write "<p><font face=verdana size=2>Der er endnu ikke nogle der har skrevet i gæstebogen</font></p>"
    End If

Kode slut

ZkiiFreak
Avatar billede tryout Nybegynder
31. december 2003 - 11:54 #11
Hej Zkiifreak

Måske har jeg ikke forklaret problemet ordentligt. Problemet opstår hvis du har en "ondsindet" bruger, hvis vedkommende indtaster en streng bestående at f.eks. 100 tegn uden mellemrum eller linjeskift. Hvis din kode kan det må du undskylde.

Venlig hilsen Tryout
Avatar billede zkiifreak Nybegynder
31. december 2003 - 12:37 #12
OK... Det kræver noget javascript... Det kan sagtens laves, jeg ved bare ikke helt hvorledes... Kig evt. på www.script.dk

Hilsen

Zkii
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