怎么算不。在多行文本框中输入的字符,直到140个字符

时间:2010-12-13 14:53:47

标签: asp.net vb.net

如何算不上。在多行文本框中输入的字符,我想使用vb.net在我的多行文本框中输入最多140个字符...

总之,我希望文本框输入限制只有140个字符....

我有以下代码来做到这一点....但我想在多行文本框中实现140个字符限制:

<script type="text/javascript">
        function Count(x) {

           document.getElementById("Label1").innerHTML = document.getElementById("TextBox2").value.length;
        }
</script>


<asp:TextBox ID="TextBox2" runat="server" Height="78px" 
            TextMode="MultiLine" Width="224px" onkeyup="Count(this.id)" 
            MaxLength="140"></asp:TextBox>

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

由于您使用asp.net标记了您的问题,我假设您正在谈论网络应用程序。

如果是这样,这项工作最好由像JavaScript这样的客户端脚本完成,而不是VB.NET,只有在用户提交表单后才能使用后者进行服务器端检查,并使用前者,他仍在输入数据。

在互联网上有很多关于如何做到这一点的例子,只需寻找类似“javascript count characters”的内容。

答案 2 :(得分:2)

以下是如何执行此操作的示例。该函数采用您要限制的字符数,要计数的控件的(客户端,HTML)ID,以及将计数输出到

的元素的id。
<script type="text/javascript">
    function CountChars(charLimit, inputId, outputId) {
        var remainingChars = charLimit - document.getElementById(inputId).value.length;
        document.getElementById(outputId).innerHTML = remainingChars;
    }   
</script>

这是一个用法示例

    <asp:TextBox ID="TextBox2" Width="100%" TextMode="MultiLine" Rows="10" MaxLength="140"
        runat="server"></asp:TextBox>
</p>
<p>
    Characters remaining: <span id="characterCount">140</span></p>

在页面加载事件中隐藏代码中的事件处理程序:

Protected Sub AddCharCountHandler()
    TextBox2.Attributes.Add("onkeyup", "CountChars(" & 140 & ", '" & TextBox2.ClientID & "'," & "'characterCount');")
End Sub

请注意,我正在使用txtDescription.ClientId调用该函数,尽管我的输出范围具有固定的id。