Вы можете использовать element.scrollHeight (точно так же, как ответил Патрик), но он нуждается в некоторых исправлениях (я использую jQuery в примере):
1) если у вашего текстового поля есть отступы, вы должны вычесть его (верх и низ).
2) если элемент уже установил высоту, вам нужно установить его на ноль (только для меры, затем установить его обратно, иначе он возвращает эту высоту + отступ)
var h0 = $(element).height(); // backup height
$(this).height(0);
var h = $(this).get(0).scrollHeight - $(this).css('paddingTop').replace('px','')*1 - $(this).css('paddingBottom').replace('px','')*1; // actual text height
$(this).height(h0); // set back original height (or new height using h)
Нет необходимости в дополнительном интервале с тем же CSS, что и у textarea.