为什么Jquery不适用于asp.net文本框的CssClass属性?

时间:2014-12-25 13:48:06

标签: c# jquery asp.net

我想用Jquery验证文本框是否在asp.net页面中实现'仅字母表'属性。

这是代码

    <script src="//code.jquery.com/jquery-1.10.2.js"></script>

    <script src="//code.jquery.com/ui/1.11.2/jquery-ui.js"></script>
     .............codes.............

      <script type="text/javascript">
    $('.alph').keypress(function (e) {
        var regex = new RegExp("^[a-zA-Z\s]+$");
        var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
        if (regex.test(str)) {
            return true;
        }
        else {
            e.preventDefault();
            alert('Alphabets only');
            return false;
        }
    });
   </script>
 .............codes.............

 <asp:TextBox ID="txt_name" CssClass="alph" BorderColor="Gray" Font-Size="Large" Height="25" Width="250" runat="server"></asp:TextBox>

此代码无效,我确信我的计算机已连接到互联网以访问code.jquery.com。请帮帮我。

2 个答案:

答案 0 :(得分:0)

Document.ready阻止

之后尝试此脚本代码
$(document).ready(function(){

    $('.alph').keypress(function (e) {
        var regex = new RegExp("^[a-zA-Z\s]+$");

        var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
        if (regex.test(str)) {
            return true;
        }
        else {
            e.preventDefault();
            alert('Alphabets only');
            return false;
        }
    });

});

在安全地使用jQuery之前,您需要确保页面处于可以被操作的状态。使用jQuery,我们通过将代码放在函数中,然后将该函数传递给$(document).ready()来实现此目的。我们传递的函数可以只是一个匿名函数。

答案 1 :(得分:0)

我的错!由于我是Jquery的新手,所以我不知道&#39; doc.ready&#39;我将代码更正为

$(document).ready(function () {
 $('#<%=txt_name.ClientID %>').keypress(function (e) {
        var regex = new RegExp("^[a-zA-Z\s]+$");
        var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
        if (regex.test(str)) {
            return true;
        }
        else {
            e.preventDefault();
            alert('Alphabets only');
            return false;
        }
    });
    });

代码完美无缺!