exec,
насколько я знаю, onchange реагирует на изменение строчки, а ему надо на уменьшение символов. О! Есть идея, как отловить уменьшение.
Создаёшь функцию, происходящую после изменения textarea, в ней пишешь
"var text=document.getElementById(id) // Создаёшь объект - текстовое поле
var value=text.value // Создаёшь объект - его значение
if (value/text.rows>text.cols) {text.rows-=1}"
В итоге получится такой код:
function onch(id) {
var text=document.getElementById(id) // Создаёшь объект - текстовое поле
var value=text.innerHTML // Создаёшь объект - его значение
if (value/text.rows>text.cols) {text.rows-=1}
}
<textarea onChange="onch(this.id)" id="1(к примеру)"></textarea>
Вроде должно работать, но ничего не обещаю.