Anzahl der angezeigten Zeilen (keine Zeilenumbrüche) in einem HTML-Textfeld ohne jQuery? [Duplikat]

9

Ich habe ein textarea und ich schreibe 7 lines darin mit nur 2 new line character wie unten, stell dir vor, das folgende Code-Feld ist ein textarea und nur zweimal die Eingabetaste gedrückt.

%Vor%

Nach dem Schreiben weiterer Zeilen, wenn jetzt textarea line count n ist. Wie kann ich den Wert von n berechnen?

Bitte klären Sie, bevor Sie die Frage beantworten. Ich möchte nicht zählen, wie viele new line characters in meinem Text wie dieser sind. Wie erhalten Sie die Anzahl der Zeilen in einem Textfeld?

Ich möchte die Anzahl der Zeilen so zählen wie Microsoft Word sie aus einer Passage zählen.

keine jQuery bitte ...

    
NazKazi 22.11.2012, 20:11
quelle

1 Antwort

3

Sie könnten das ausprobieren. Ich habe es bisher nicht getestet, aber ich erinnere mich, das sollte gut funktionieren.

%Vor%

Das sollte der einfachste Weg sein, denke ich.

BEARBEITEN

Also hier ist die Antwort, so einfach wie es ist: D

Stellen Sie zuerst sicher, dass der Textbereich einen Wert für Spalten

hat

und jetzt überprüfe das =

%Vor%

jetzt sollte das genauso funktionieren wie es sollte.

AKTUALISIEREN

Sie können auch sicherstellen, dass alle "new line" -Elemente oder nur das letzte Zeichen entfernt werden, WENN es eine "neue Zeile" in der Zeichenfolge ist, bevor Sie die Länge erhalten. Auf diese Weise werden keine unerwünschten zusätzlichen Zeilen gezählt.

Achten Sie auch darauf, die "Breite" des Textfelds NICHT zu setzen !! Dies führt dazu, dass der Text in einer Zeile über den Wert von "cols" hinausgeht. Auf diese Weise gibt der "count" -Wert Ihnen die Anzahl der Zeilen, wenn Sie mit einer maximalen Zeilenbreite des cols-Wertes wären. also die einzige Möglichkeit, die Breite des Textfelds mit dem Attribut cols festzulegen.

UPDATE 2

Ich denke, wenn Sie einen nicht buggy Weg wollen, gibt es keinen Weg mit PHP oder jQuery.

auch die zweite Lösung ist nur ein schneller und schmutziger Weg. Sie müssten eine Logik programmieren, die jedes Wort prüft, wenn es länger ist als die entfernbare Breite, und außerdem jede Zeile auf Wörter überprüfen, die wegen zu wenig Speicherplatz in die nächste Zeile gesetzt wurden.

Dies erfordert einige logische Fähigkeiten und aufgrund von Inaktivität werde ich den Code für jetzt nicht schreiben.

Wenn Sie möchten, dass ich eine vollständige Javascript-, PHP- oder jQuery-Lösung posten, lassen Sie es mich wissen. (Ich sehe keinen Grund, warum man jQuery nicht dafür benutzt)

    
Ace 22.11.2012, 20:23
quelle