Textarea: maximale Größe des Inhalts
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
anzahl
bild
buchstabe
eingabe
einstellen
feld
gleicher schriftart
helfen
meldung
pixel
rein passen
schrift
schriftart
signatur
text
url
verschwinden
verwenden
zeichen
zeile
-
Hi,
Ich hab folgende Frage:
Ich habe auf einer Website eine Div mit einer bestimmten Größe in Pixeln.
Ich habe dann ein Textarea, in das ein Text eingegeben wird, der dort angezeigt wird. Es sind drei Zeilen anzuzeigen und die Länge des Divs ist 300px.
Wie kann ich überprüfen, ob der Text, den ich in das Textarea eingegeben habe, auch in das div reinpasst?
Also es dürfen nicht mehr als 3 zeilen werden. Und ich habe keine monospace schriftart in dem div.
Vielen Dank für die Antworten und ich hoffe, dass ihr mir helfen könnt. :) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Gibt es irgendwo einen Link zu einer Demo?
cuboidon schrieb:
Wie meinst du? Dass der Text nicht länger sein darf? Welchen Sinn hat das?
Wie kann ich überprüfen, ob der Text, den ich in das Textarea eingegeben habe, auch in das div reinpasst?
cuboidon schrieb:
Was soll passieren wenn du mehr als 3 Zeilen eingibts? Sollen die dann einfach automatisch wieder verschwinden?
Also es dürfen nicht mehr als 3 zeilen werden. -
Warum auch immer mein letzter Post gelöscht wurde.....
maxlength="3" begrenzt die textarea -
aber maxlength bezieht sich auf die anzahl der zeichen oder?
wenn das dann aber keine monospace schriftart ist, geht das nicht so exakt oder? denn ein W und ein i haben dann unterschiedliche Breiten... -
Hallo
wenn die 3 Zeilen aus durchgehendem Text (ohne Zeilenumbruch) entstehen,
dann brauchst Du denke ich eine monospace Schriftart,
denn dazu musst Du Wissen, wie breit eine Buchstabe in Pixel ist,
also z.B. 45 Buchstaben = 298 Pixel,
dann im String alle 45 Buchstaben einen Zeilenumbruch einfügen.
Frage: ist die Textarea für User oder für Admin ?
wenn für Admin, dann kann man erwarten, das bei Eingabe auch der Zeilenumbruch kommt
aber wenn für User, dann kann man davon ausgene, das es nicht alle kapieren (wollen)
Wenn es immer (maximal) 3 Zeilen werden sollen (bei Eingabe)
warum machst Du dann nicht anstatt Textarea einfach 3 normale Text-Felder, je Zeile ein Feld
und baust dann zur Ausgabe diese 3 Felder zu einem Text zusammen ?!
oder Du musst für Deine Schriftart die Zeichen-Anzahl
je nach dem am breitesten Buchstaben (z.B.: W) begrenzen
... also testen, wieviele W nebeneinander (mit z.B. Verdana) in 300px rein passen)
und diesen max. Wert dann für maxlength verwenden,
bzw. per Javascript bei überschreiten dieses max. Wert die Meldung erzeugen
aber einfacher (schöner) wäre es mit monospace Schriftart,
da musst du zwar auch zählen, wieviele Buchstaben in 300 px rein passen (je nach Schrift-Größe)
aber dann passt es für jeden Text, nicht nur für W
Beitrag zuletzt geändert: 15.10.2012 16:52:59 von erlebnis -
Ja ist für User und nicht für Admins.
Die Idee mit den 3 einzelnen Zeilen ginge zwar, ist aber eher umständlich würde ich sagen.
Monospace sieht halt auch nicht so schön aus. und wenn es zeilenumbrüche gibt in den 3 zeilen, dann weiß man ja auch nicht, wie lang es dann sein muss.
Und wenn ich es am W orientiere, dann ist meist viel weniger Schrift drinnen, als möglich.
Gibts denn ne möglichkeit, wie ich überprüfen kann, ob in dem textarea gescrollt werden muss oder nicht? oder dass ich die anzahl der zeilen in textarea überprüfen kann? gibts sowas?
Danke und lg -
1) maxlength=irgendwas nützt dir hier überhaupt gar nichts, wenn du auf max. 3 Zeilen begrenzen willst.
2) Es gibt keinen Weg dein Vorhaben zu 100% umzusetzen, da nicht gewährleistet ist, dass der Schriftfont unter unterschiedlichen Betriebssystemem gleich aussieht bzw vorhanden ist.
3) Eine Signatur sollte sowieso nicht übermäßig lang sein, also kannst du ruhig weniger Zeichen erlauben, also genau so viele Zeichen wie es W oder M braucht um den Platz auszufüllen.
4) Wenn du nur auf Länge prüfst, was passiert dann, wenn Zeilenumbrüche eingegeben werden? Dann stimmt die Berechnung sowieso nicht mehr
5) Der einzige wirklich zu 100% richtige Weg wäre die Signatur am Server als Bild zu rendern und dieses Bild dann auch an den Client zu senden… dann weißt du genau wie viel Platz verbraucht wird, das hat aber auch den Nachteil das kein Text aus der Signatur kopiert werden kann. -
aber würde es nicht helfen, wenn man das textarea in exakt die entsprechende größe einstellen würde? also auch mit gleicher schriftart usw.
dann kann man doch vielleicht überprüfen, ob die größe überschritten wurde, also ein scrollbalken da ist?
Geht das? -
cuboidon schrieb:
Nein, (ich erinnere an Punkt 2 meines vorherigen Posts) da der gleiche Schriftfont nicht überall gleich aussieht. Stell dir vor du willst Arial verwenden, aber ich arbeite unter Linux. Dann bekomme ich einen Ersatzschriftfont der zwar ähnlich, aber nicht gleich, aussieht. Dehsalb funktioniert das so nicht
aber würde es nicht helfen, wenn man das textarea in exakt die entsprechende größe einstellen würde? also auch mit gleicher schriftart usw.
dann kann man doch vielleicht überprüfen, ob die größe überschritten wurde, also ein scrollbalken da ist?
Geht das?
Du müsstest zumindest einen Webschriftfont verwenden… aber auch dann kannst du nicht davon ausgehen, dass du mit JavaScript die richtige Größe ermitteln kannst, denn wenn ich mir eine Signatur verschaffen will die deiner Regel nicht entspricht kann ich einfach JavaScript deaktivieren und vorbei ist die Prüferei. -
hmm... okay schade dass es nicht geht, aber vielen Dank trotzdem!
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage