asp.net 文本框中,希望在满时从单行动态更改为多行



我一生都找不到这个问题的答案,尽管我期望它是多么普遍。

但是我有一个表单,目前所有文本框都是单行的,并且 90% 的时间足以满足此表单的需求。 在某些情况下,提交需要更大的文本条目,我得到的要求是,为了形式美学,文本框保持为单行,除非文本填充它,在这种情况下,它会动态更改为多行。

这样的事情可能吗? 我希望有某种事件,最好使用 c# 代码隐藏,当超过一定数量的字符或文本超过文本框的宽度时,它会转换为多行。

提前非常感谢您的帮助!

您可以轻松地将它们全部设置为多行,但指定为一行。

然后在键入 JS 事件时捕获长度,如果超过指定的长度,则向其添加行。

//pseudo code
<asp:TextBox runat="server" ID="txt2" TextMode="MultiLine" Rows="1" onchange="resizeBox(this)"></asp:TextBox>
function resizeBox(el){
if (el.value.length > 20 && el.rows == 1)
el.rows = 4;
}

最新更新