$(“#form1”)。validate不是函数

时间:2009-12-09 03:32:07

标签: jquery jquery-validate

<script type="text/javascript">
<!--
$(document).ready(function() { 
      $("#form1").validate({ 
        rules: { 
         budget: {
            required: true,
             minlength:3
        } ,
       duration: {
            required: true,
            digits:true
        }, 
         town: {
            required: true,
             minlength:2

        },

       content: {
            required: true,
            minlength:300 

        }
         }, 
        messages: { 


        } 
          }); 
        });
        -->
</script>

包含两个jquery文件。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="../common/jquery.validate.js"></script>

包括在内。包含没有任何问题。

我收到了错误消息

  

$(“#form1”)。validate不是函数   怎么了?

13 个答案:

答案 0 :(得分:32)

脚本标记放在脚本标记之前进行验证

我刚刚遇到了这个非常令人沮丧的错误,因为在网上缺乏可行的答案,因此失去了一小时的大部分时间。我在Firebug中确认我正在使用CDN进行jQuery和验证。

最后,改变这个:

    <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>
    <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.4.4.min.js"></script>

到此:

    <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.4.4.min.js"></script>
    <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.7/jquery.validate.min.js"></script>

就是我所需要的一切。

答案 1 :(得分:19)

我有同样的问题。事实证明,我在页面上多次加载jQuery JavaScript文件。这是由于包含页面(或JSP,在我的情况下)。一旦我删除了对jQuery js文件的重复引用,这个错误就消失了。

答案 2 :(得分:4)

我遇到了同样的问题,是的,我首先包含了jquery,然后是jquery validate脚本。我不知道出了什么问题。事实证明我使用的是已移动的验证网址。我通过以下方式解决了这个问题:

  1. 打开firefox
  2. 打开萤火虫
  3. 单击firebug中的NET选项卡。这将显示所有加载的资源。
  4. 加载您的页面。
  5. 检查加载的资源,看看你的jquery和&amp; jquery.validate.js已加载。
  6. 在我的情况下,我在尝试获取时遇到了403 Forbidden错误(http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js,在{{3}的示例中使用})。

    原来那个链接(http://dev.jquery.com/view/trunk/plugins/validate/jquery.validate.js)已移至http://rocketsquared.com/wiki/Plugins/Validation(当我加载时,Firebug告诉我这个本地文件而不是我的网络服务器上。)

    注意:我也尝试使用微软的CDN链接,但是当我尝试使用正确的URL加载浏览器中的javascript文件时失败,CDN网站上出现了一些奇怪的问题。

答案 3 :(得分:2)

您需要将最新的http://ajax.microsoft.com/ajax/jquery.validate/1.5.5/jquery.validate.js与Microsoft的CDN结合使用才能获取验证文件。

答案 4 :(得分:2)

有同样的问题;经过验证的HTML&amp;发现我错过了name="email"的{​​{1}}属性。始终确认HTML 正面您的HTML有效。添加后,<input />完美运行。

答案 5 :(得分:1)

确保jQuery使用的是$ variable,而不是另一个javascript框架。

检查你的doctype:验证你的html,有时浏览器看不到怪异模式的东西,或者当它们包含格式错误的html时。

还要确保jquery.validate.js文件正确无误。

您可以在下面下载:

http://bassistance.de/jquery-plugins/jquery-plugin-validation/

答案 6 :(得分:1)

检查您是否使用代理。

我在Mozilla Firefox中遇到了这个问题,我认为这与Firefox本身有关。后来我发现我正在使用代理服务器。 当我取消选中代理时,一切都很顺利。

答案 7 :(得分:1)

浏览器可能首先下载了验证脚本,然后是jQuery。如果在加载jQuery之前下载了验证脚本,则会出现错误。您可以使用像firebug这样的工具来查看。

试试这个:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script>
    function LoadValidade() {
        var a = false;
        try {
            var teste = $('*');
            if(teste == null)
                throw 1;
        } catch (e) { 
            a = true; 
        }

        if (a){ 
            setTimeout(LoadValidade, 300);
            return;
        }

        var validadeScript = document.createElement("script");
        validadeScript.src = "../common/jquery.validate.js";
        $('head')[0].appendChild(validadeScript);
    } 
    setTimeout(LoadValidade, 300);
</script>

答案 8 :(得分:1)

我对问题的解决方案: 在页脚中添加<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-form-validator/2.3.26/jquery.form-validator.min.js"></script>

答案 9 :(得分:0)

如果您有链接,我可以查看问题是什么,但这里有几个问题和要检查的事项:

  • 您的表单的ID是否为HTML中的“表单”?
  • 检查是否需要消息,参数可能存在一些不平衡
  • 您还应该添加'type =“text / javascript”'属性,从Google获取jQuery

此外,如果您要使用Google CDN获取jQuery,您也可以使用Microsoft的CDN获取验证文件。这些网址中的任何一个都可以使用:

答案 10 :(得分:0)

也许很傻,但检查你的内联脚本是否包含脚本标签。

答案 11 :(得分:0)

我有这个问题,jquery URL有效,一切看起来都很好,验证仍然有效。在刷新CTL + F5之后,Chrome中的错误就消失了。

答案 12 :(得分:0)

在我的情况下,我将验证部分移到了文档就绪函数之外,它对我来说很好。我希望它适合你...

 $(document).ready(function () {
   // paste validate function outside of the document ready function...
});

    $('#form1').validate({

        rules: {
            English_Name: { required: true, minlength: 3 },
            Arabic_Name: { required: true, minlength: 3 },
            latitude: { required: true, min: 16, max: 32, number: true },
            longitude: { required: true, min: 32, max: 52, number: true },
            EmployeeID: { required: true },
            PaymentTypeID: { required: true },
            BusinessTypeID: { required: true },
            SalesTypeID: { required: true },
            OutletLength: { required: true },
            OutletWidth: { required: true },
            CONTACT_PERSON: { required: true },
            MOBILE_NO: { required: true, minlength: 9, maxlength: 13, digits: true },
            TRADE_LIC_DATE: { dateValidation: true },
            CreditLimit: { min: 0, max: 2000000 },
            CreditPeriod: { min: 0, max: 365 },
            EMAIL_ADDRESS: { email: true },
            BusinessClassID: { required: true },
            CustomerClassificationID: { required: true },
            LicenseTypeID: { required: true }
        },
        message: {
            English_Name: {
                required: ''

            },
            ToDate: {
                required: ''

            }




        },
        submitHandler: function (form) { // for demo

            $.ajax({
                type: 'POST',
                url: '/sfa/Verification/SaveDataInDatabase',
                data: $('form').serialize(),
                beforeSend: function () {
                    $('.submitBtn').attr("disabled", "disabled");
                    $('.modal-body').css('opacity', '.5');
                },
                success: function (msg) {


                    $("#form1").trigger('reset');
                    $('.modal').modal('hide');
                    $('.submitBtn').removeAttr("disabled");
                    $('.modal-body').css('opacity', '');
                }
            });
        }
    });