我已将文本框maxlength设置为20,其中我使用验证控件来提供错误消息并且工作正常,但实际上我希望它在用户开始在文本框中输入输入并且当它达到20时显示字符数然后用户不应该键入它。 可以这样做,任何人都可以解释它:
答案 0 :(得分:1)
您需要使用Javascript:
JS
function tocheck(field, count, limit)
{
if (field.value.length > limit)
field.value = field.value.substring(0, limit);
else
count.value = limit - field.value.length;
}
Asp.net
<asp:TextBox ID="txtMessage" TextMode="MultiLine" Width="200px" Rows="3"
runat="server" onkeyup="tocheck(txtMessage, this.form.remLen, 20);" onkeydown="tocheck(txtMessage, this.form.remLen, 20);" />
在另一个文本框中,您可以查看计数:
<input readonly="readonly" type="text" name="remLen" size="3" maxlength="3" value="160" />
答案 1 :(得分:0)
我尽可能简单地编写此代码。您还需要处理其他一些事件,例如 onPaste 并更有效地编写它。顺便说一句。
我假设: 你有jQuery:
<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
这些控制:
<asp:TextBox ID="txtMessage" TextMode="MultiLine" runat="server"></asp:TextBox>
<asp:Label ID="lblCount" runat="server"></asp:Label>
您只需要一些像这样的JavaScript代码:
<script>
var max = 20;
var lblCount = $("[id$='lblCount']");
var txtMessage = $("[id$='txtMessage']");
function checkCount(padding) {
var currentLength = txtMessage.val().length;
if (currentLength >= 20) {
return false;
} else {
lblCount.text(max - currentLength - padding);
}
return true;
}
lblCount.text(max);
txtMessage.keypress(function (e) {
var key = e.keyCode || e.which;
if (key != 8 && key != 46) {
if (!checkCount(1)) {
e.preventDefault();
};
};
});
txtMessage.keyup(function (e) {
var key = e.keyCode || e.which;
if (key != 8 && key != 46) {
e.preventDefault();
return;
}
checkCount(0);
});
</script>
在JavaScript代码的最开始部分,我定义了max,lblCount,你必须知道它们的txtMessage。
答案 2 :(得分:0)
VB.NET
product_categories
'25是限制用户输入