asp.net,验证用户是否正在写文本框

时间:2012-09-20 21:54:59

标签: asp.net

我正在使用C#开发ASP.NET。

我有一个TextBox,我想验证用户是否为TextBox编写了正确的长度。

如果用户未输入正确的长度,我希望在标签上显示消息。但是我希望这个检查能够在用户正在编写时动态发生。

我该怎么做?

感谢。

2 个答案:

答案 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$='messageinput[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>