[Edit Description]
You know when you're typing an essay into someone else's blog comment form, or you're putting all ten of your middle names into a registration form, and you run out of form field space?
Yeah, it's a bitch to go back and edit, because your text has scrolled off the screen. Well, with the FormTextResizer bookmarklet you can resize that little sucker to be as big as you want.
After you execute the bookmarklet, any textarea or text field will display a resize cursor when you mouseover it, and to resize a particular field, you click-hold-drag. The field will resize in real-time, so you can see how far you have to go. Once you release, the bookmarklet's turned off, so you can focus and type to your heart's delight. Textareas can be resized in both dimensions, text fields only horizontally. Safari won't display the cursor unless you hit the element's border, but you'll still be able to resize it.
Source (www.themaninblue.com)
[Edit Javascript]
Show Source Code
javascript%3ATxtRsz%3D%7BformEl%3Anull%2CadEv%3Afunction%28t%2Cev%2Cfn%29%7Bif%28typeof%2520document.addEventListener%21%3D%27undefined%27%29%7Bt.addEventListener%28ev%2Cfn%2Cfalse%29%7Delse%7Bt.attachEvent%28%27on%27+ev%2Cfn%29%7D%7D%2CrmEv%3Afunction%28t%2Cev%2Cfn%29%7Bif%28typeof%2520document.removeEventListener%21%3D%27undefined%27%29%7Bt.removeEventListener%28ev%2Cfn%2Cfalse%29%7Delse%7Bt.detachEvent%28%27on%27+ev%2Cfn%29%7D%7D%2Cinit%3Afunction%28%29%7Bvar%2520textareas%3Ddocument.getElementsByTagName%28%27textarea%27%29%3Bfor%28var%2520i%3D0%3Bi%3Ctextareas.length%3Bi++%29%7Btextareas%5Bi%5D.style.cursor%3D%27se-resize%27%7Dvar%2520inputs%3Ddocument.getElementsByTagName%28%27input%27%29%3Bfor%28var%2520i%3D0%3Bi%3Cinputs.length%3Bi++%29%7Bif%28inputs%5Bi%5D.type%3D%3D%27text%27%29%7Binputs%5Bi%5D.style.cursor%3D%27e-resize%27%7D%7DTxtRsz.adEv%28document%2C%27mousedown%27%2CTxtRsz.initResize%29%7D%2CinitResize%3Afunction%28event%29%7Bif%28typeof%2520event%3D%3D%27undefined%27%29%7Bevent%3Dwindow.event%7Dvar%2520target%3Devent.target%7C%7Cevent.srcElement%3Bif%28target.nodeName.toLowerCase%28%29%3D%3D%27textarea%27%7C%7C%28target.nodeName.toLowerCase%28%29%3D%3D%27input%27%26%26target.type%3D%3D%27text%27%29%29%7BTxtRsz.formEl%3Dtarget%3BTxtRsz.formEl.startWidth%3DTxtRsz.formEl.clientWidth%3BTxtRsz.formEl.startHeight%3DTxtRsz.formEl.clientHeight%3BTxtRsz.formEl.startX%3Devent.clientX%3BTxtRsz.formEl.startY%3Devent.clientY%3BTxtRsz.adEv%28document%2C%27mousemove%27%2CTxtRsz.resize%29%3BTxtRsz.adEv%28document%2C%27mouseup%27%2CTxtRsz.stopResize%29%3Btry%7Bevent.preventDefault%28%29%7Dcatch%28e%29%7B%7D%7D%7D%2Cresize%3Afunction%28event%29%7Bif%28typeof%2520event%3D%3D%27undefined%27%29%7Bevent%3Dwindow.event%7Dtry%7BTxtRsz.formEl.style.width%3Devent.clientX-TxtRsz.formEl.startX+TxtRsz.formEl.startWidth+%27px%27%7Dcatch%28e%29%7B%7Dif%28TxtRsz.formEl.nodeName.toLowerCase%28%29%3D%3D%27textarea%27%29%7BTxtRsz.formEl.style.height%3Devent.clientY-TxtRsz.formEl.startY+TxtRsz.formEl.startHeight+%27px%27%7D%7D%2CstopResize%3Afunction%28event%29%7BTxtRsz.rmEv%28document%2C%27mousedown%27%2CTxtRsz.initResize%29%3BTxtRsz.rmEv%28document%2C%27mousemove%27%2CTxtRsz.resize%29%3Bvar%2520textareas%3Ddocument.getElementsByTagName%28%27textarea%27%29%3Bfor%28var%2520i%3D0%3Bi%3Ctextareas.length%3Bi++%29%7Btextareas%5Bi%5D.style.cursor%3D%27text%27%7Dvar%2520inputs%3Ddocument.getElementsByTagName%28%27input%27%29%3Bfor%28var%2520i%3D0%3Bi%3Cinputs.length%3Bi++%29%7Bif%28inputs%5Bi%5D.type%3D%3D%27text%27%29%7Binputs%5Bi%5D.style.cursor%3D%27text%27%7D%7D%7D%7D%3BTxtRsz.init%28%29%3B