@@Pit
kann ich mit Jquery die Höhe einer Textarea automatisch so weit aufziehen, dass der komplette Inhalt sichtbar ist?
Dazu fällt mir – nach der Frage
- Warum sollte man das überhaupt wollen?
– noch Folgendes ein:
-
Über
HTMLTextAreaElement.value.length
kommt man an die Anzahl der eingegebenen Zeichen; daraus kann man die Anzahl der Zeilen abschätzen.Das gelingt sehr gut für Sprachen, in denen Zeilen überall (d.h. auch mitten im Wort) umbrochen werden können, bspw. für Chinesisch. Ansonsten gelingt es umso besser, je kürzer die Wörter sind. Pech für Deutsch: lange zusammengesetze Wörter rutschen in eine neue Zeile, so bleiben etlichen Zeilen halbleer. Empirisch kann man für eine gegebene Sprache und eine gegebene Breite das Verhältnis mittlere genutzte Breite zu vorhandener Breite ermitteln und damit die für die Textlänge benötigte Zeilenanzahl abschätzen.
-
Andere Möglichkeit: Man macht mit JavaScript aus dem
textarea
-Eingabefeld ein anderes Element wiep
oderdiv
, das man aufcontenteditable
setzt. Das wird dann so hoch dargestellt wie es der aktuelle Inhalt erfordert.Man muss das Element dann freilich so kennzeichnen (stylen), dass es für Nutzer als Eingabefeld erkennbar ist – und das auch für alle Nutzer, also ggfs. ARIA-Attribute ergänzen –, und sich auch um die Übertragung des eingegebenen Textes kümmern.
LLAP 🖖
“When UX doesn’t consider all users, shouldn’t it be known as ‘Some User Experience’ or... SUX? #a11y” —Billy Gregory