【发布时间】:2010-09-05 16:02:21
【问题描述】:
我目前正在为我工作的公司开发一个内部销售应用程序,并且我有一个允许用户更改收货地址的表单。
现在我认为它看起来会更好,如果我用于主要地址详细信息的文本区域只占用其中的文本区域,并在文本发生更改时自动调整大小。
这是目前的截图。
有什么想法吗?
@克里斯
说得好,但我希望它调整大小是有原因的。我希望它占用的区域是其中包含的信息的区域。正如您在屏幕截图中看到的,如果我有一个固定的文本区域,它会占用相当多的垂直空间。
我可以缩小字体,但我需要地址大且可读。现在我可以减小文本区域的大小,但是对于地址行需要 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;
};
【问题讨论】:
-
你能创建一个演示网站,让我们可以在工作中看到这个吗?
-
这个插件看起来不错jacklmoore.com/autosize
-
有 JQuery 版本吗?如何在 JQuery 中访问 TextArea 的列和行?
-
几乎相同,但明确要求在删除文本时应变小:stackoverflow.com/questions/454202/…
标签: javascript html css textarea prototypejs