我想在asp.net中使用多行设置文本框的MaxLength属性(例如100个字符)。 我不想使用JavaScript解决方案。我用过:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="TextBox1" SetFocusOnError="true" ValidationExpression="^[a-zA-Z.]{0,100}$"></asp:RegularExpressionValidator>
<asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" Height="109px" Width="274px" ></asp:TextBox>
</div>
</form>
</body>
</html>
和此:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:RegularExpressionValidator ID="rgConclusionValidator2" ControlToValidate="TextBox1" ValidationExpression="^[\s\S]{0,100}$" runat="server" SetFocusOnError="true" /></asp:RegularExpressionValidator>
<asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine" Height="109px" Width="274px" ></asp:TextBox>
</div>
</form>
</body>
</html>
但它们都不起作用。我测试了最新的ie,firefox,chrome,opera。 非常感谢。
答案 0 :(得分:1)
将此JavaScript函数用于maxlength并在OnKeypress上调用它。
function checktextarea(textvalue,message,limit)
{
var str="";
var str=textvalue.value;
if((str.length > limit ))
{
alert('Error : '+message + limit + ' characters\n'+ ' You entered text with Length '+str.length);
textvalue.focus()
return false;
}
else
{
return true;
}
}
答案 1 :(得分:1)
正在工作,但是:
maxlength
属性不同,它只允许您输入超过100个字符。您需要一些操作才能开始验证。在大多数情况下它是按钮,所以只需添加它:
<asp:Button runat="server" Text="OK" />
您需要出现错误消息,如果验证失败,将显示给用户 - 将ErrorMessage
属性添加到验证器:
<asp:RegularExpressionValidator ... ErrorMessage="ERROR!" />
这就是它 - 键入文本,单击按钮,看到错误。
如果您确实想要动态限制文字长度 - 那么您需要JavaScript,您可以看到样本的Specifying maxlength for multiline textbox