是否可以使用多行文本框(即使用asp.net c#)输入的最大字符数不能超过可见文本框大小?
我已经垂直移动了滚动条(溢出:隐藏)。
现在我想要它,以便说如果多行文本框显示100px高度(或说5行),用户输入的文本框高度不能超过?
必须有一个JS / JQuery hack?
答案 0 :(得分:1)
不,这是不可能的。
因为ASP.NET文本框最终变成了HTML textarea,它不支持文本限制。
你可以使用JavaScript做这个技巧,当然,但是对于可见区域而言,它可能并不那么容易。您将需要以某种方式计算当前使用的字体的度量,然后尝试在内存中渲染以查看是否超出了框的限制。在为Windows编程时可能有这样的技巧,但是使用网页可能不可能。
答案 1 :(得分:0)
虽然它最终变成了一个textarea你可以做到这一点,但它很hacky。
使用textarea按键上的JQuery,检查值的长度,如果超过阈值,则删除最后一个字符。
就像我说hacky。
祝你好运,丹
答案 2 :(得分:0)
您可以限制文字最大值。 char如下。
客户端
function ValidateLength()
{
if(document.forms[0].txtFlightRemarks.value.length > MAX_LENGTH)
{
document.forms[0].txtFlightRemarks.value = document.forms[0].txtFlightRemarks.value.substring(0,MAX_LENGTH);
document.forms[0].txtFlightRemarks.focus();
return false;
}
}
服务器端(Page_Load):将onchange和onkeyup事件附加到所需的textarea。
txtFlightRemarks.Attributes.Add("onchange", "ValidateLength();");
txtFlightRemarks.Attributes.Add("onKeyUp", "ValidateLength();");