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.
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.
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. ;)
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> </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
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...
<% 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> </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 %>
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!
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.
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> </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
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.
OK... Det kræver noget javascript... Det kan sagtens laves, jeg ved bare ikke helt hvorledes... Kig evt. på www.script.dk
Hilsen
Zkii
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.