1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Zeilenzahl in Textarea begrenzen

Discussion in 'Web-Know-how für die Homepage' started by WolfgangNMS, Sep 10, 2001.

Thread Status:
Not open for further replies.
  1. Hi,
    habe ein kleines Problem.
    Ich benutze ein Formular mit mehreren einzeiligen Textfeldern, die ich durch maxlength begrenze. Das klappt auch wunderbar, mein Problem ist ein zusätzliches mehrzeiliges Textfeld. Durch <textarea rows="10" ...> kann ich zwar das Eingabefeld in der Größe definieren, ich würde aber auch gerne die maximal mögliche Zeilenzahl begrenzen. Ich hoffe, es kann mir einer weiterhelfen.

    Danke im vorraus
    Wolfgang
     
  2. scrollHeight\' einer Textarea.

    Grüsse von Wolfgang
     
  3. kalweit

    kalweit Hüter der Glaskugel

    Bei Netscape muss die <textarea> in einem <form> gekapselt werden, dann kannst du auf den Inhalt über: document.formname.variablenname.value zugreifen und auch dort z.b. die Zeichenlänge bestimmen und entsprechend ändern. Diese Variante funktioniert ebenfalls im IE und Opera.

    Gruss, Matthias
     
  4. Hi,
    habe mir mittlerweile was zurechtgebastelt. Leider funzt das nur im IE. Hat vielleicht jemand einen Tip für NN ? Hier der Code:

    <html>
    <head>
    <title>Gästebuch - Neuer Eintrag</title>
    <link rel="STYLESHEET" type="text/css" href="style.css">
    <script language="JavaScript">

    function teste()
    {while(document.newentry.ftext.clientHeight < document.newentry.ftext.scrollHeight)
    {document.newentry.ftext.value = document.newentry.ftext.value.substring(0,document.newentry.ftext.value.length-1);
    }
    }
    </script>

    </head>
    <body bgcolor="#ffcc99" LINK="#0000ff" VLINK="#0000ff" ALINK="#ff0000">
    .................
    <textarea name="ftext" wrap="physical" rows="14" cols="40" OnFocus="teste();" OnClick="teste();" OnChange="teste();" OnKeyDown="teste();" OnKeyUp="teste();"></textarea>
    ..................

    mfG
    Wolfgang
     
  5. BTB

    BTB Byte

    Hi,
    der code sieht folgendermaßen aus:
    <textarea name="wasweissich" rows="10" cols="30"></textarea>

    bidde schön
     
  6. kalweit

    kalweit Hüter der Glaskugel

    Per HTML ist mir nicht\'s bekannt - du kannst aber das Textfeld per Javascript (Eventhandler) auf seine tatsächliche Länge testen und eine entsprechende Meldung ausgeben bzw. bei Eingabe eines weiteren Zeichens, dieses wieder automatisch löschen - wobei sich aber bei dieser Aktion die Sinnfrage stellt.

    Gruss, Matthias
     
  7. Antiheld

    Antiheld ROM

    Hi,
    bei einer textarea ist eine Beschränkung per html nicht möglich. Das funktioniert nur bei einzeiligen Textfeldern. Auch eine Beschränkung per rows= und cols= bringt nichts, da diese Angaben lediglich die Anzeigegröße des Eingabreichs, nicht die Länge des Textes beschränken. Theoretisch ist die Textlänge bei textarea unbegrenzt.
    Man könnte natürlich überlegen, die Länge des eingegebenen Textes per Javascript prüfen zu lassen und eventl. eine Fehlermeldung heraus zu geben.....

    mfg
     
  8. kalweit

    kalweit Hüter der Glaskugel

    Hmmm,

    also, ich würd warscheinlich folgende Lösung nehmen: Schreibe einfach in die Eingabeseite, dass dein Besucher nur xxx Zeichen eingeben kann und die restlichen abgeschnitten werden. Jetzt prüfst du beim Absenden die Länge und schneidest den String einfach nach xxx Zeichen ab und fertig, da alles andere doch an den verscheidenen Browser zu scheitern scheint (der Mozilla hat sich z.b. aufgehangen). Jetzt musst du nur noch eventuelle Zeilenumbrüche ausfiltern - am besten natürlich serverseitig per z.b. php, damit das auch ohne JavaScript beim User funktioniert.

    Gruss, Matthias
     
  9. Hi Benjamin,
    Es geht mir nicht darum, das Texteingabefeld in der Größe zu begrenzen, sondern darum, das die vorgegebene Zeilenzahl bei der Eingabe nicht überschritten wird. In einer normalen Textarea kommen nach überschreiten einer vordefinierten Größe automatisch Scrollbalken, was mir nicht hilft.
    Um das Seitenlayout für die Folgeseite nicht zu zerstören, dürfen in dieses Feld maximal 15 Zeilen mit jeweils maximal 50 Zeichen geschrieben werden.
    Gruß
    WolfgangNMS
     
  10. kalweit

    kalweit Hüter der Glaskugel

    Richtig. Aber es reicht doch einfach den Wert von document.newentry.ftext.value.length abzufragen, oder?

    Gruss, Matthias

    Achso, wenn\'s nicht funktioniert, tippe mal nach dem Fehler "javascript:" in die Adresszeile des NS und poste mal die Fehlermeldung.
    [Diese Nachricht wurde von kalweit am 01.03.2002 | 13:35 geändert.]
     
  11. @Matthias,
    reicht leider nicht, da das ja nur die gesamte Textlänge abfragt, die ja je nach Eingabe variabel ist. Sprich, wenn jemand nach jeden Wort z.B. einen Umbruch erzwingt, ist die max length wesentlich kürzer als bei durchgehender Eingabe. Was ich aber erreichen möchte, ist ein Texteingabefeld, dessen vorgegebene Grösse nicht verändert werden kann. Alles was in diesen Textfeld steht, soll so, wie es der Anwender sieht, auf eine Folgeseite übernommen werden. Wird die Anzahl der Zeilen zu gross, würde diese Folgeseite im Design zerrissen.
    Um Dir ein genaueres Bild zu machen, schau Dir doch bitte mal das Gästebuch von www.nordspass.de an (unter Kontakte).

    Gruß, Wolfgang
     
Thread Status:
Not open for further replies.

Share This Page