我不确定我是否有最后一点?我将文本框的最大长度更改为 140。我似乎无法使用TextLength
. 请帮忙?!到目前为止我有这个:
protected void textBox_TextChanged(object sender, EventArgs e)
{
characterCountLabel.Text = textBox.MaxLength - textBox.TextLength;
}
characterCountLabel.Text
是字符串格式。因此,您可能希望在设置其值之前对其进行转换,如下所示:
protected void textBox_TextChanged(object sender, EventArgs e)
{
characterCountLabel.Text = (textBox.MaxLength - textBox.Text.Length).ToString();
}
我认为您正在尝试显示用户可以输入到您的文本框中的剩余字符?我建议您可以像这样将限制设置为常量:
protected void textBox_TextChanged(object sender, EventArgs e)
{
characterCountLabel.Text = (140 - textBox.Text.Length).ToString(); // in here 140 is your limit
}
如果您在 C# 中使用 ASP.NET。不要像这个链接那样限制自己使用 javascript
我认为这将是一个更好的答案...
标头代码:
<script language="javascript" type="text/javascript">
function getCountDown()
{
//Get the Textbox control
var textField = document.getElementById("<%#TextBox1.ClientID %>");
//Do the math of chars left and pass the value to the label
document.getElementById('<%#Label1.ClientID %>').innerHTML = textField.maxLength - textField.value.length;
return false;
}
</script>
ASP 代码:
<asp:TextBox ID="TextBox1" runat="server" MaxLength="729" Height="80px"
Width="591px" onkeyup="getCountDown();" ClientIDMode="Static"></asp:TextBox>
<asp:Label ID="Label1" runat="server" Text="" ClientIDMode="Static"></asp:Label>
TextBox
设置和Label
控件的属性很重要,ClientIDMode="Static"
否则将无法在 javascript 上找到控件名称。
CS代码:
protected void Page_Load(object sender, EventArgs e)
{
Page.Header.DataBind();
}
这就是一个SingleLine
文本框。
现在,MultiLine
TextBox
您需要将其添加到您的Page_Load()
,以便maxLength
获取TextBox1.MaxLength
值。:
this.TextBox1.Attributes.Add("maxLength", TextBox1.MaxLength.ToString());
此外,该MaxLength
属性在TextBox
处于模式时不起作用,Multiline
因此您需要在您的 javascriptgetCountDown()
函数中添加以下行:
// Check if user is entering more than the limit of characters
if (textField.value.length >= textField.maxLength) {
// Cut extra text
document.getElementById("<%#TextBox1.ClientID %>").innerHTML = textField.value.substring(0, textField.maxLength);
}
将它们添加到该var textField = document.getElementById("<%#TextBox1.ClientID %>");
行之后。这是为了防止用户输入的字符多于MaxLength
值。
巴勃罗