jQuery验证错误:.validate不是函数 [英] jquery validation error: .validate is not a function

查看:108
本文介绍了jQuery验证错误:.validate不是函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这可能是非常明显的,但它不起作用!我得到:TypeError: $(...).validate is not a function,Firebug将我指向:

This is probably super obvious, but it is NOT working! I'm getting: TypeError: $(...).validate is not a function and Firebug points me to:

电子邮件:请输入有效的电子邮件地址",

email: "Please enter a valid email address",

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/additional-methods.min.js"></script>

$(document).ready(function () {

    $("#register").click(function () {
        if ($("#frmRegisterWebuser").valid() === true) {
            $("#frmRegisterWebuser").submit();
        }
    });

    $("#frmRegisterWebuser").validate({
      rules:{
             reg_email:{
                        required: true,
                        email: true
                        },
             username: {
                       required: true,
                       minlength: 3
                       },
             zipcode: {
                       minlength: 5,
                       maxlength: 5
                       },
             reg_password: {
                       required: true,
                       minlength: 5
                       },
             confpass: {
                       required: true,
                       equalTo: "#reg_password",
                       }
      },
      messages:{
         username: {
                   required: "Please enter a username",
                   minlength: "Your username must consist of at least 3 characters"
                   },
         password: {
                   required: "Please provide a password",
                   minlength: "Your password must be at least 5 characters long"
                   },
        confirm_password: {
                          required: "Please provide a password",
                          minlength: "Your password must be at least 5 characters long",
                          equalTo: "Please enter the same password as above"
                          },
        email: "Please enter a valid email address",
      },

      submitHandler:function(){
          if($("#frmRegisterWebuser").valid() === true){
            email=$("#reg_email").val();
            password=$("#reg_password").val();
            username=$("#username").val();
            zipcode=$("#zipcode").val();
            default_private=$("#private").val();

             $.ajax({
                type: "POST",
                url: "webuser_register.php",
                data: "email="+email+"&pwd="+password+"&username="+username+"&default_private="+default_private+"&zipcode="+zipcode,
                success: function(response){
                  if(response == 'Registered')
                  {
                    $("#login_form").fadeOut("normal");
                $("#shadow").fadeOut();
                $("#profilex").html("<a id='logout' href='webuser_logout.php' title='Click to Logout'>Logout</a>");

                $("#shadow").slideUp();
                $("#register_webuser").slideUp();
                  }
                  else
                  {
                    $("#reg_add_err").html("Oops, there was a problem");
                  }
                },
                beforeSend:function()
                        {
                     $("#reg_add_err").html("Loading...")
                }
            });
          }
      }

    });

});
</script>

是不是我实际上没有提交表单,而是在添加一些数据?

Could it be that I'm not actually submitting a form, but am ajaxing some data?

<div id="register_webuser">
        <div class="err" id="reg_add_err"></div>
  <form id="frmRegisterWebuser" action="login.php">
    <input type="hidden" id="private" name="private" />
        <label style="color:black;" for="reg_email" >Email:</label>
        <input type="email" id="reg_email" name="reg_email"  />
        <label style="color:black;" for="username" >Username:</label>
        <input type="text" id="username" name="username"  />
        <label style="color:black;" for="zipcode" >Zipcode:</label>
        <input type="text" id="zipcode" name="zipcode" />
        <label style="color:black;" for="reg_password" >Password:</label>
        <input type="password" id="reg_password" name="password"  />
        <label style="color:black;" for="confpass" >Confirm Password:</label>
        <input type="password" id="confpass" name="confpass"  />

        <div class="inputdata">
        <label style="color:black;" title="Share your shopping lists">Share:&nbsp;</label>
        <span>
        <div class="flatRoundedCheckbox" style="v-align:top;">
        <input type="checkbox" title="Share your shopping lists" id="share" name="share"  checked onclick="toggleShared(this.checked);" />
        </span>
        <label for="share" id="label_share"></label>
        <div class="clear"></div>
        </div>
        </div>

        <label></label><br/>
        <a id="register" href="#" class="greenbutton" >Register</a>
        <a id="reg_cancel_hide" href="#" class="greenbutton" >Cancel</a>
        <label></label><br/>

  </form>
</div>

推荐答案

我是有史以来最大的假人.尽管如此,也许这会帮助其他人.

I'm the biggest dummy ever. Nonetheless, perhaps this will help someone else.

问题是我在同一页面上包含了两个不同版本的jQuery:1.9.0和1.10.2

The issue was that I was including 2 different versions of jQuery on the same page: both 1.9.0 and 1.10.2

非常感谢大家的帮助!

这篇关于jQuery验证错误:.validate不是函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆