Anz. der Zeilen in Eingabefeld ermitteln?

  • Wie kann man die Anzahl der Zeilen in einem mehrzeiligen Eingabefeld ermitteln(<input .....>).
    Habe vor für mein Gästebuch die Anzahl der Beiträge zu begrenzen. bzw. ich hab das jetzt auf 5 Einträge pro Seite gestellt aber wenn einer einen mega langen Eintrag macht dann springt der unten raus und das sieht sch**** aus.
    Wollte deswegen eine längenbegrenzung einbauen.
    Es gibt ne festdefinierte Anzahl an Zeilen die man insgesamt schreiben kann um den Eintrag auf die gesamte Seite auszudehnen und jedesmal wenn einer geschrieben wird zieht der davon eben die Anzahl der Zeilen ab.
    z.B:
    50 Zeilen gesamt
    1. Beitrag --> 10 Zeilen
    2. Beitrag --> 15 Zeilen
    3. Beitrag --> 25 Zeilen
    und den 4. Eintrag macht er dann erst auf der nächsten Seite

  • Ich weiß jetzt nicht so genau was du meinst!
    Du sprichst von mehrzeiligen Einträgen.
    Das ist allerdings nur bei textarea möglich.

    Fall du wirklich von input type="text" sprichst, dann begrenzt man die anzahl mit der angabe maxlength.
    Die Anzahl der Zeilen ist in diesem Fall ja von der Größe deines Gästebuches abhängig, also davon, nach wie vielen Zeichen der Text umgebrochen wird.
    Du müsstest also erfassen wie viele Zeichen eigegeben wurden, dann durch die Anzahl der Zeichen vor dem Umbruch dividieren und schon hast du die Anzahl der Zeilen.
    Verhindern, dass z.B. mehr als 5 Zeilen geschrieben werden kannst du dann nur mit maxlength

    Hier ein Link dazu.

    Viele Grüße

    Mir nicht

  • nene ich rede von einer textarea.
    also folgendes problem ich habe ein gästebuch und wenn irgend ein depp da ne riesen auflistung macht und zausend zeilenumbrüche dann sieht das kacke aus weil der dann unten rausspüringt und dann mein ganzes layout zerstört dann wird noch der backgroudn ja bekanntlich mehrmals angezeigt und das wollte ich verhindern in dem ich dem sage maximal 3 zeilen pro eintrag

  • 3 Zeilen pro Eintrag ist etwas komplizierter;
    man darf es nicht auf HTML-Ebene lösen, da es leicht zu umgehen ist, somit bleibt nur PHP
    Ich würde eine SMS-ähnliche Zeichenbeschränkung mit strlen() und substr() vorschlagen, kannst aber auch den String bei jedem \r in einen Array teilen, und nur ein gewisses Wordcount pro Array-Wert und nur eine gewisse Anzahl an Arraywerten zulassen... ist allerdings ein wenig komplizierter aber immer noch machbar.

    MfG
    Daniel

  • Begrenzen in diesem Sinne kannst du das ganze nicht.
    Du kannst mit JavaScript die Zeichen zählen und dann keine weiteren mehr zulassen. Aber sobald jemand JavaScript ausgeschaltet hat, funktionierts schon nicht mehr.
    Es gibt dafür meines Wissens nach keine andere Möglichkeit, als das ganze über PHP zu prüfen.

    Sorry

    Viele Grüße

    Mir nicht