URL: https://www.overclockers.at/coding-stuff/html_textfeld_mit_dynamischer_groesze_188007/page_1 - zur Vollversion wechseln!
ich hab hier ein formular mit einem stinknormalen textfeld. größe momentan fix auf 4 zeilen.
der inhalt kommt aus einer datenbank. nun wär natürlich luxus wenn sich die größe vom textfeld an den inhalt anpasst damit man nicht dauernd scrollen muss.
irgendwie möglich?
habs schonmal gesehn, war aber ajax. macht das evtl das gleiche? (habs nur kurz angeschaut, sry. kanns mir später genauer anschaun: http://www.djangosnippets.org/snippets/427/ von http://www.python-forum.de/viewtopi...18e82ddf37c7441)
alternativ kannst du auch eine Pfuschlösung machen und einfach eine Variable für die Rows setzen und fix vordefinieren, wenn 100 Zeichen, dann Rows=1, wenn >200 dann 2,... naja.
also bereits beim tippen muss ned sein, es reicht wenn er es beim laden festlegt.
zeichen zählen wär natürlich eine möglichkeit. wegen wortlängen und zeilenumbrüchen halt ned immer die idealste..
Die Zeilenumbrüche kannst ja dazusählen (also wenn Zeilenumbruch, dann +1 row). Wähle eine Schriftart, die eine ungefähr gleiche zeichenausrichtung (Festbreitenschrift?) hat wie Courier New.
Sind da die Zeichen nicht gleich groß? (also kannst das Textfeld wirklich genau ausmessen?)
hm schriftart ist kein monospace. habs mit deinen links oben probiert, aber da haut er es mir immer auf 1 zeile zusammen.
hmm du könntest dir den text zusätzlich in einer Tabelle(einspaltig,einzeilig) mit gleicher breite ausgeben lassen. Nachdem die Tabellen ihre höhe automatisch anpasst kannst dann auch mit javascript die höhe der Tabelle auslesen und mit dieser höhe das textfedl setzen ?!
Tabelle natürlich mit display:none
du könntest die länge des textes ermitteln und durch die anzahl der cols dividieren und somit hast du die benötigte anzahl von zeilen.
also auf SQL-isch, wenn 80 deine spaltenlänge fürs textfeld is: select foo, round(length(foo)/80) from tablename;
blöd wirds halt, wenn '\n' drinnen san
... oder die schriftgröße eine andere istZitat von pariblöd wirds halt, wenn '\n' drinnen san
Zitat von paridu könntest die länge des textes ermitteln und durch die anzahl der cols dividieren und somit hast du die benötigte anzahl von zeilen.
also auf SQL-isch, wenn 80 deine spaltenlänge fürs textfeld is: select foo, round(length(foo)/80) from tablename;
blöd wirds halt, wenn '\n' drinnen san
redest du von offsetHeight?
Kann man das nicht auch mit divs oder so machen? Dann würde man sich die Tabelle ersparen
http://msdn2.microsoft.com/en-us/library/ms530302.aspx
ich glaub ich hab den thread zu schnell überflogen, i hätt glaubt, es geht um eine textarea, dort kann man ja die rows und cols angeben.
Zitat von fatmike182redest du von offsetHeight?
Kann man das nicht auch mit divs oder so machen? Dann würde man sich die Tabelle ersparen
es geht ja auch um eine textarea.
ja dann spielt ja der font, font size keine rolle, oder versteh ich da was net?
Zitat von parija dann spielt ja der font keine rolle, oder versteh ich da was net?
var height = document.getElementById('divID').offsetHeight;Zitat von umlüxes geht ja auch um eine textarea.
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025