【发布时间】:2014-02-17 14:06:37
【问题描述】:
我在尝试调整文本区域大小时遇到问题,我可以在用户输入时进行,但是当他们提交时,它会被放入数据库并放入下面的文本区域并显示为消息留言板,但如果消息超出文本区域的大小,则不会显示我想知道是否有人遇到过这个问题并克服了它。
这是我想出的在打字时调整大小的解决方案,
function resizeTextarea (id) {
var a = document.getElementById(id);
a.style.height = 'auto';
a.style.height = a.scrollHeight+'px';
}
function init()
{
var a = document.getElementsByTagName('textarea');
for(var i=0,inb=a.length;i<inb;i++)
{
if(a[i].getAttribute('data-resizable')=='true')
{
resizeTextarea(a[i].id);
}
}
}
addEventListener('DOMContentLoaded', init);
这在我使用它的其他页面的 textarea 上的 keyup 上被调用,但我试图做这样的事情来在它加载时调整大小,但它不起作用,但是当按下一个键或一个键时它确实起作用按钮被点击。
onload="resizeTextarea('commentstext');"
我知道我总是可以让它可滚动或将其放入 div 但如果我在文本中进行换行并将其提交到不会存在的 div 中,div 不会像 textarea 那样格式化文本
【问题讨论】:
-
@MirkoGuarnier 乍一看与我已经拥有的非常相似,这如何处理从未键入的数据库加载的数据?
标签: javascript html css textarea