如何使用原型自动调整文本区域的大小?
我目前正在为我工作的公司开发内部销售应用程序,并且我有一个允许用户更改送货地址的表单。
现在我认为它看起来会更好,如果我用于主要地址详细信息的文本区域只占用其中的文本区域,并在文本更改时自动调整大小。
这是它目前的屏幕截图。
有什么想法吗?
@Chris
这是一个很好的观点,但我希望它调整大小是有原因的。我希望它所占用的区域是其中包含的信息的区域。正如您在屏幕截图中看到的,如果我有一个固定的文本区域,它会占用相当多的垂直空间。
我可以减少字体,但我需要地址大且可读。现在我可以减小文本区域的大小,但是对于地址行需要3或4(一个需要5行)的人来说,我遇到了问题。需要让用户使用滚动条是一个主要的禁忌。
我想我应该更具体一点。我追求垂直调整大小,宽度并不重要。发生这种情况的唯一问题是,当窗口宽度太小时,ISO号(大的“1”)被推到地址下方(如您在屏幕截图中看到的那样)。
这不是关于有一个噱头;它是关于拥有一个用户可以编辑的文本字段,该字段不会占用不必要的空间,但将显示其中的所有文本。
不过,如果有人想出另一种方法来解决这个问题,我也对此持开放态度。
我对代码进行了一些修改,因为它的行为有点奇怪。我将其更改为在键控时激活,因为它不会考虑刚刚键入的字符。
resizeIt = function() {
var str = $('iso_address').value;
var cols = $('iso_address').cols;
var linecount = 0;
$A(str.split("\n")).each(function(l) {
linecount += 1 + Math.floor(l.length / cols); // Take into account long lines
})
$('iso_address').rows = linecount;
};