text

text

HTML

<textarea class="text">texttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttexttext</textarea>

JavaScript

function flexibleTextarea(){
var _txt = document.getElementsByClassName('text'); // здесь comment - это идентификатор поля, которое будет растягиваться.
	var _minRows = 5; // минимальное количество строк (высота поля)

	if (_txt) {
		// функция расчета строк
		function setRows() {
			_txt.rows = _minRows; // минимальное количество строк
			// цикл проверки вместимости контента
			do {
				if (_txt.clientHeight != _txt.scrollHeight) _txt.rows += 1;
			} while (_txt.clientHeight < _txt.scrollHeight);
		}
		setRows();
		_txt.rows = _minRows;

		// пересчет строк в зависимости от набранного контента
		_txt.onkeyup = function(){
			setRows();
		}
	}
}
if (window.addEventListener)
	window.addEventListener("load", flexibleTextarea, false);
else if (window.attachEvent)
	window.attachEvent("onload", flexibleTextarea);