2016-05-14 65 views
0

我在asp.net 登记表我想打一个失败的评论这是一个多行文本框,我想,让使用只写100个字符在此框中,如果他输入更多..我想只接受前100个字符,并删除其他然后用文字 的接受的一部分向用户发送错误按摩我曾尝试使用的RegularExpressionValidator这样的:验证工具

<asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" ControlToValidate="TextBox1" ErrorMessage="Comment should be less the 100 letter." ForeColor="Red" ValidationExpression="^.{1,100}$"></asp:RegularExpressionValidator>

但我仍然想要显示使用r中接受了一部分,并从盒子 删除其余的,所以我怎么能做到这一点使用验证工具

回答

1

只是你Page_Load事件

TextBox1.Attributes.Remove("MaxLength"); 
TextBox1.Attributes.Add("MaxLength", "100"); 

添加两行,这将让你即使设置它的工作TextBoxMultiLine模式。

使用JavaScript,你可以做这样的

<script type="text/javascript"> 
     function LimtCharacters(txtMsg, CharLength, indicator) { 
      chars = txtMsg.value.length; 
      document.getElementById(indicator).innerHTML = CharLength - chars; 
      if (chars > CharLength) { 
       txtMsg.value = txtMsg.value.substring(0, CharLength); 
      } 
     } 
</script> 

写您的aspx页面

Number of Characters Left: 

<label id="lblcount" style="background-color:#E2EEF1;color:Red;font-weight:bold;">100</label><br/> 

<asp:TextBox ID="multiTxtBox" TextMode="MultiLine" onkeyup="LimtCharacters(this,100,'lblcount');" runat="server"></asp:TextBox> 

希望这将有助于!

+1

我从来没有想到这一点!第二行是否会自动覆盖/排除第一行? – IrishChieftain

+1

是的正确!你得到了点:) –

+0

这是很好的,但我要告诉他的文字是高大的用户,并显示接受文字 – Bayan