У вас есть аргументы в вашей функции JS, но вы не передаете никаких аргументов в событии onchange.
Примените следующий код к вашему TextBox:
<asp:TextBox ID="textbox1" CssClass="style5" runat="server" MaxLength="10" onkeyup="strLen(this, 2);"></asp:TextBox>
МЕТОД # 1 : Использование метки
Ваша метка ошибки должна выглядеть следующим образом:
<asp:Label ID="lblError" runat="server" Text="Exceeds max length" style="display:none;"></asp:Label>
И затем в вашей функции JavaScript вы можете сделать это:
EDIT : Логика была обратной - изменена на: input.value.length> count?"block": "none";
strLen = function(input, count){
var errorLabel = document.getElementById("<%=lblError.ClientID%>");
if (errorLabel)
errorLabel.style.display = input.value.length > count ? "block" : "none";
}
METHOD # 2 : Использование диапазона вместо метки
Или вы можете просто использовать диапазон вместометка, как это:
<span id="errorLabel" style="display:none;">Exceeds max length</span>
И измените функцию JavaScript на это:
EDIT : имел логику в обратном направлении - изменен на: input.value.length> count?"блок": "нет";
strLen = function(input, count){
var errorLabel = document.getElementById("errorLabel");
if (errorLabel)
errorLabel.style.display = input.value.length > count ? "block" : "none";
}