未捕获的TypeError:undefined不是函数。 ASP.NET Web窗体中的JQuery验证

时间:2014-06-12 09:33:52

标签: javascript jquery asp.net validation

我正在尝试使用jQuery验证来验证ASP.NET Web表单

在Site.Master中,我包含了这些脚本

<script src="/Scripts/jquery-1.4.4.js"></script>
<script src="/Scripts/jquery-1.4.4.min.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.min.js"></script>

在Modify.aspx中,我包含一个自定义脚本

<script type="text/javascript">
    $(document).ready(function () {
        $('#<%= Form.ClientID%>').validate({
            highlight: function (element) {
                $(element).addClass('has-error');
            },
            unhighlight: function (element, errorClass, validClass) {
                $(element).removeClass('has-error');
            }
        });
    }(jQuery));
</script>

正如您所看到的,我正在尝试为经过验证的输入添加或删除css类。

然后我收到了错误

Uncaught TypeError: undefined is not a function 

任何人都可以帮我解决问题吗?也许脚本也不正确,请帮我修改一下。非常感谢!

1 个答案:

答案 0 :(得分:4)

我同意其他人说你不应该使用退役的库并在你的导入代码中混合完整和缩小版本的脚本。下面的代码片段应该为你提供一个良好的开端。为化妆品增加了一个bootstrap css参考

 <script src="Scripts/jquery-1.10.2.min.js"></script>
 <script src="Scripts/jquery-validate.min.js"></script>
<link href="Scripts/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet" />

  <script type="text/javascript">
    $(document).ready(function () {
        $('#form1').validate({
            onKeyup: true,
            eachValidField: function () {

                $(this).closest('div').removeClass('error').addClass('success');
            },
            eachInvalidField: function () {

                $(this).closest('div').removeClass('success').addClass('error');
            }
    });
    });

 <form id="form1" runat="server" class="test">
<div class="control-group input-append">
<input type="text" data-required="true"/>
   <button type="submit" class="btn btn-primary">Send</button>
</div>
</form>