Christian Eilmes: Textarea mit dynamischer Größe??

Hallo,

ich habe folgende Idee. Auf einer HTML-Seite soll abhängig vom Login im Rahmen es CMS-Projektes der Text entweder als mit CSS formatierter Text ausgegeben werden oder editierbaren in einem Formularfeld erscheinen. Das Funktioniert soweit auch schon. ( Mit IE läst sich dank CSS sogar die Formatierung einheitlich gestallten).
Das Problem, die Textblocke sind sehr unterschiedlich lang und so bricht das Design mit Formularfeldern immer völlig zusammen. Gibt es eine Lösung, über die Formularfelder ihre Große dynamisch an den Vorgabetext anpassen (in etwas so wie das mit Tabellenzellen funktioniert und auch mit Layern möglich ist) ?

Wäre super wenn hier irgend ein Profi eine Idee hätte.

  1. MoiN!

    Das Problem, die Textblocke sind sehr unterschiedlich lang und so bricht das Design mit Formularfeldern immer völlig zusammen. Gibt es eine Lösung, über die Formularfelder ihre Große dynamisch an den Vorgabetext anpassen (in etwas so wie das mit Tabellenzellen funktioniert und auch mit Layern möglich ist) ?

    Es gibt nur was pseudo-automatisches: Prüfe, wie viel Text die Textarea enthalten soll, und gib dynamisch serverseitig eine entsprechend große Textarea aus. Dazu mußt du vermutlich ein wenig Pi-mal-Daumen rechnen, und 100% wird's nie stimmen, aber die ungefähre Größe kriegt man damit hin. Je nachdem, wie du das realisierst, wird die Textarea dann eher ein kleines Stück zu scrollen sein, oder unten noch ein Stück Leerfeld haben.

    - Sven Rautenberg

    1. erstmal Danke für die promte Antwort,

      Es gibt nur was pseudo-automatisches: Prüfe, wie viel Text die Textarea enthalten soll, und gib dynamisch serverseitig eine entsprechend große Textarea aus. Dazu mußt du vermutlich ein wenig Pi-mal-Daumen rechnen, und 100% wird's nie stimmen, aber die ungefähre Größe kriegt man damit hin. Je nachdem, wie du das realisierst, wird die Textarea dann eher ein kleines Stück zu scrollen sein, oder unten noch ein Stück Leerfeld haben.

      »»

      An so etwas habe ich auch schon gedacht. Aber so richtig schön ist das wegen dem "Pi-mal-Daumen" nicht, zudem ich dabei immer auch noch die Schriftgrößen und Typen im Auge haben muß (z.B. bei fetten Überschriften). Im Prinzip liese sich hier natürlich "Laufweite" abscgätzen - macht aber eine Menge Aufwand.

      Gibt es vieleicht schon Scripte (PHP, ASP oder JavaScript) die hier mehr machen als StrLeng?

      1. MoiN!

        An so etwas habe ich auch schon gedacht. Aber so richtig schön ist das wegen dem "Pi-mal-Daumen" nicht, zudem ich dabei immer auch noch die Schriftgrößen und Typen im Auge haben muß (z.B. bei fetten Überschriften). Im Prinzip liese sich hier natürlich "Laufweite" abscgätzen - macht aber eine Menge Aufwand.

        Die Schriftgröße in einer Textarea ist doch immer gleich, oder? Jedenfalls, wenn man sie nicht layoutmäßig beeinflußt. Und Fettschrift kennt eine Textarea auch nicht.

        Ich sehe das Problem nicht so ganz. Wenn du einen String hast, kannst du doch relativ "leicht" rausfinden, wieviele Zeilen der hat. Je nachdem, wie genau du es gerne hättest, entweder basierend auf der Stringlänge, oder du zählst die Zeichen pro Zeile und brichst nach X Zeichen in die nächste Zeile um, sowie an eingegebenen Zeilenumbrüchen...

        Alle mir bekannten CMS-Systeme haben feste Größen für die Textareas. Da muß man dann bei langen Texte viel scrollen, und das Layout des Templates sieht auch ziemlich verhunzt aus, aber das Resultat ist dann 1a.

        - Sven Rautenberg

  2. Hallo,

    nachdem Du ein CMS verwendet steht Dir ja eine Skriptsprache zur Verfügung. Somit könntest Du die Länge der Ausgabe doch abfragen und entsprechend die Breite der Textarea setzen.
    Oder hab ich da jetzt was falsch verstanden?

    Grüße aus Würzburg
    Julian