"We are back" « oc.at

HTML textfeld mit dynamischer größe?

Umlüx 19.11.2007 - 13:47 1984 21
Posts

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 9006
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?

fatmike182

Agnotologe
Registered: Oct 2005
Location: VIE
Posts: 4223
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.

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 9006
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..

fatmike182

Agnotologe
Registered: Oct 2005
Location: VIE
Posts: 4223
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?)

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 9006
hm schriftart ist kein monospace. habs mit deinen links oben probiert, aber da haut er es mir immer auf 1 zeile zusammen.

sensei

die Küstenwache?
Avatar
Registered: Dec 2000
Location: Bad Schlotterbac..
Posts: 709
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

pari

grml
Avatar
Registered: Nov 2002
Location: NÖ
Posts: 1710
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

murcielago

Dr. Doom
Avatar
Registered: Oct 2002
Location: *
Posts: 2692
Zitat von pari
blöd wirds halt, wenn '\n' drinnen san
... oder die schriftgröße eine andere ist
... oder die schriftart irgendeine ist
... oder
... oder
...

sensei

die Küstenwache?
Avatar
Registered: Dec 2000
Location: Bad Schlotterbac..
Posts: 709
Zitat von pari
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


edit:
muss mich entschuldigen, textarea cols passt die breite der schriftart an, also könnte das so gehn wie du meintest.
Bearbeitet von sensei am 29.11.2007, 14:08

fatmike182

Agnotologe
Registered: Oct 2005
Location: VIE
Posts: 4223
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
Bearbeitet von fatmike182 am 29.11.2007, 13:53

pari

grml
Avatar
Registered: Nov 2002
Location: NÖ
Posts: 1710
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.

sensei

die Küstenwache?
Avatar
Registered: Dec 2000
Location: Bad Schlotterbac..
Posts: 709
Zitat von fatmike182
redest du von offsetHeight?
Kann man das nicht auch mit divs oder so machen? Dann würde man sich die Tabelle ersparen

ja offsetHeight und ja natürlich gehts auch mitn div, ka warum ich table gschrieben hab :confused:

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 9006
es geht ja auch um eine textarea.

pari

grml
Avatar
Registered: Nov 2002
Location: NÖ
Posts: 1710
ja dann spielt ja der font, font size keine rolle, oder versteh ich da was net?

sensei

die Küstenwache?
Avatar
Registered: Dec 2000
Location: Bad Schlotterbac..
Posts: 709
Zitat von pari
ja dann spielt ja der font keine rolle, oder versteh ich da was net?

jop, du hast eh recht, hab mich getäuscht (quote schon ausgebessert).

Zitat von umlüx
es geht ja auch um eine textarea.
var height = document.getElementById('divID').offsetHeight;
document.getElementById('textareaID').style.height = height;

aber ich würds mal so versuchen wie pari meinte ist die schönere lsg (wenns geht)
Bearbeitet von sensei am 29.11.2007, 14:25
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz