Desfois, on aimerait bien que les textarea s'allongent au fur et à mesure qu'on tape.

Voici ma solution à ce problème:

var formTools = {
 
	'conf': {
		'autoAdjust': {
			'min': 4,
			'max': 20,
		}
	},
 
	'autoAdjust': function(textarea) {
	
		rows = textarea.value.split("
").length;
		
		if (rows > this.conf.autoAdjust.min && rows < this.conf.autoAdjust.max) {
		
			textarea.rows = rows;
		
		}
	
	},
	
}

Le tout s'appelle très simplement de la manière suivante:

<textarea onkeypress="formTools.autoAdjust(this);"></textarea>