我正在使用C#开发ASP.NET。
我有一个TextBox
,我想验证用户是否为TextBox
编写了正确的长度。
如果用户未输入正确的长度,我希望在标签上显示消息。但是我希望这个检查能够在用户正在编写时动态发生。
我该怎么做?
感谢。
答案 0 :(得分:2)
假设这些是你的asp.net元素
<asp:label id="message" runat="server"/><br/>
<asp:textbox runat="server" id="txtTest"/>
你的js应该是这样的:
$(function(){
$("input[id$='txtTest']").bind('keypress', function(){
if($("input[id$='txtTest']").val().length < 10)
$("[id$='message']").text('incorrect length');
else
$("[id$='message']").text('');
});
});
请注意,jQuery中的id$='message
和input[id$='txtTest']
表示id ends with
当您在服务器上标记要运行的元素时,asp.net会根据您的页面名称在实际客户端ID的开头附加一些其他名称。
这里是working demo
答案 1 :(得分:1)
使用jQuery。在文本框旁边有一个div,为你的文本框连接一个onchange()事件,如果文本框的val()长度不够长,只需让jQuery用你的消息填充div。
<input type="text" id="myTextBox" onchange="changeMessage" />
<div id="message"></div>
<script>
function changeMessage(){
var textboxLength = $('#myTextBox').val().length;
if(textboxLength < ...){
$('#message').html('Your Message');
}
}
</script>