我有一个工作的javascript函数检查webform的TextBox中的字符数,用onChange调用。警报通知用户字符限制和当前字符数,因此倾向于在警报上单击“确定”后减少字符数。但是,onChange此时不起作用。
我想建议如何在字符数超过限制时连续调用我的函数(并且用户根据字符数反馈向下递增。
我的功能:
<script type="text/javascript">
function CountDesc(text,long)
{
var maxlength = new Number(long);
var count = text.value.length;
if (count > maxlength){
text.value = text.value.substring(0,maxlength);alert("Incident Description may
only contain " + long + " characters.\nCurrent character count is: " + count);
}
}
我的功能致电:
<asp:TextBox ID="txtDescription" runat="server" Height="80px" TextMode="MultiLine"
Width="680px" MaxLength="1000" TabIndex="33" onChange="CountDesc(this,1000)"></asp:TextBox>
感谢。
答案 0 :(得分:0)
您可以完全使用HTML5。
请注意,您不需要支持旧版浏览器。无论如何你应该检查服务器端的字符数。如果字符数超过指定的长度,则会在那里抛出错误消息。在形式上检查是很好的,但不是必需的。
通常alert
不是一个非常好的用户体验。除非他处理弹出窗口和JavaScript块,否则用户无法继续 - 可能会破坏页面上的其他内容。
您可以在textarea附近添加一条错误消息,表明您已超出限制。这是向用户通知输入问题的一种较少侵入性的方式。同样,您应该检查您的输入服务器端。如果用户选择忽略该消息,那么这是他的选择,但您仍然不会接受该输入。