使用jquery进行验证

时间:2011-09-16 01:12:49

标签: jquery asp.net

我对jquery很新。我一直在尝试进行验证,检查文本框长度是否大于4。

所以,这就是我所做的:

   $(document).ready(function () {

    $('#tbstreet1').blur(isValid);
                        });
   function isValid()
{
    Boolean isvalid;
   var street1Length = $("#tbstreet1").val().length;

   alert(street1Length);
     if(myLength >4)
     {
         isvalid= true;
        ActivateSave()
     }


}
function ActivateSave()
    {

   $("#btn_save").attr("Enabled",true);
   }

这是我的aspx页面:

   <asp:Label runat="server" ID="street1" Text="Street1" O></asp:Label> 
  <asp:TextBox ID="tbstreet1" runat="server" CausesValidation="true"  ></asp:TextBox>

 <asp:Button ID="btn_save" runat="server" Text="Save" Enabled="false" />

我的.net页面中甚至有脚本源

 <script src="http://code.jquery.com/jquery-1.6.4.js"  type="text/javascript" > 
 </script>

但问题是如何从这里调用javascript函数?因为我很确定我的javascript没有被调用。你可以帮帮我吗?

3 个答案:

答案 0 :(得分:3)

您需要将jQuery函数“附加”到文本框中:

$('#tbstreet1').blur(isValid);

当文本字段模糊时,这将运行isValid函数。或者,您可以提供匿名功能:

$('#tbstreet1').blur(function() {
    // do something, maybe even 'isValid();'
});

如果您需要运行的代码是一次性的,这很好,但如果您需要在多个位置多次执行该函数,最好创建一个“命名”函数,就像在第一个示例中一样。 / p>

请记住,您需要将所有这些代码放在onReady函数中,该函数仅在页面加载完成后执行(并且DOM已准备好进行导航)。您只需使用以下命令即可完成此操作:

<script type="text/javascript">
    // this is a shortcut for $(document).ready()
    $(function() {
        // your code
    });
</script>

答案 1 :(得分:0)

只是为了添加@Daniel T.的回答:

模糊事件在失去焦点时会发送到元素,以便更准确地使用文本更改事件this插件

我建议您使用firebug进行js调试,这会让事情变得更容易

答案 2 :(得分:0)

此外,如果您没有进行更改,如果您在服务器上运行文本框,则需要

 $('#<%= tbstreet1.ClientID %>').blur(function(){});

而不是

 $('#tbstreet1').blur(function(){});