Here’s a text box that grows as you type to hold just the right amount of text:
<textarea name="foo" rows="1" cols="20" onkeypress="resizeme(this);"></textarea>
<script type="text/javascript" charset="utf-8">
// <![CDATA[
function resizeme(t) {
var characterCount = t.value.length;
// assuming proportional font
var columnCount = Math.floor(t.cols * 1.25);
var height = t.rows;
var newHeight = 1 + Math.floor(characterCount/columnCount);
if (newHeight != height) {
t.rows = newHeight;
}
}
// ]]>
</script>
Here it is in action:
That’s pretty cool! Only it couldn’t quite keep up with my typing. Don’t know if that’s the script’s fault or my computer. Though a dual 1.83 Intel iMac, you’d think, would have enough power to manage it.