Hallo Andy,
Zwei Sachen mußt Du ermitteln. Du musst die Anzahl der Zeichen pro Zeile bestimmen und Du musst die Anzahl der Zeilenumbrüche bestimmen.
Es bietet sich als an, den Inhalt mit split("\n"); zunächst in ein Array zu zerlegen. Über length hast Du nun bereits die Anzahl der Umbrüche. Nun ermittelst Du die Länge jedes Element aus dem Split-Array, welches Zeichenketten enthält, wiederum mit length. Ist die Länge größer der Anzahl, die einen "Zeilenumbruch" erzeugen, addierst Du eins dazu. Wenn Du so die Anzahl der Zeilen kennst, kannst Du diese auf die Größe (Höhe) der Area umrechnen.
So in der Art könnte der Code aussehen:
//Zugriff auf die Textarea
var Area = document.getElementsByTagName("textarea")[0];
//Anzahl der Zeilen ermitteln und in einem Feld speichern
var Arr = Area.value.split("\n");
//diesen Wert speichern
var counter = Arr.length;
//Zulässige Anzahl an Zeichen pro Zeile (hängt von der Breite der Area ab)
var maxChar = 50;
//Prüfen, ob eine Zeile breiter als die zulässige Zahl ist und ggf. den Counter erhöhen
for (var i=0; i<Arr.length; i++)
if (Arr[i].length > maxChar)
counter++;
//Zuweisen
Area.row = counter;
Mit freundlichem Gruß
Micha