【问题标题】:JQueryValidation plugin error: "Uncaught TypeError: Cannot call method 'call' of undefined"JQueryValidation 插件错误:“未捕获的 TypeError:无法调用未定义的方法 'call'”
【发布时间】:2014-03-16 21:10:23
【问题描述】:

我在使用出色的 JQueryValidation 插件时遇到了一些问题。

我已经阅读了一些类似的问题,它们的共同点似乎是不包含插件方法 - 但是,远程和类型方法是插件的核心,不需要包含。

另一个奇怪的细节是 registerEmail 字段通常在输入模糊时进行验证。

当您在 registerEmail 字段中输入内容时,它会正常验证,但有时会显示错误,有时不会。

当您单击提交按钮时,总是会显示错误。

这是我的相关代码:

HTML

<form id="registrationForm" action="dostep2.asp" method="get">

     <input type="text" id="registerName" name="registerName" placeholder="Enter your Name." />
     <input type="text" id="registerEmail" name="registerEmail" placeholder="Enter your Email Address." />

     <button type="submit" name="submitButton1" value="submitButton1" class="btn btn-default btn-lg proceed">
          </span>Proceed to <strong>Payment</strong> <span class="glyphicon glyphicon-circle-arrow-right">
     </button>

</form>

JavaScript

<script src="js/jquery.validate.min.js" type="text/javascript"></script>

<script type="text/javascript">

        var validator = $("#registrationForm").validate({

            debug: true,

            rules: {

                registerName: {
                    required: true
                },

                registerEmail: {
                    required: true,
                    email:true,
                    remote: "http://beta.mysite.com/Testmail.asp",
                    type: "get"
                },

                registerPassword: {
                    required: true
                },

                registerPasswordConfirm: {
                    required: true,
                    equalTo: "#registerPassword"
                },

                registerSub: {
                    required: true,
                    type: "get",
                    remote: "http://beta.mysite.com/testsub.asp"
                }

            },

            messages : {

                registerName: "Please type in your name.",
                registerEmail: "Please type in your e-mail.",
                registerPassword: "Please type in your password.",
                registerPasswordConfirm: "Please confirm your password.",
                registerSub: "Please type the subdomain you want to use."

            }


        });

    </script>

提前致谢!

【问题讨论】:

    标签: jquery jquery-validate


    【解决方案1】:

    引用OP

    " remotetype 方法在插件的核心中,不需要包含在内。"

    不完全是。 remote 是一种方法,但 type 不是...

    registerEmail: {
        required: true,
        email:true,
        remote: "http://beta.mysite.com/Testmail.asp",
        type: "get" // <- this is not a method or rule
    },
    

    typeremote 的一个选项,因此在其中...

    registerEmail: {
        required: true,
        email: true,
        remote: {
            url: "http://beta.mysite.com/Testmail.asp",
            type: "get"  // <- this is an option of 'remote'
        }
    },
    

    请参阅:http://jqueryvalidation.org/remote-method/

    但是,由于type: "get" 已经是默认,您应该可以完全忽略它...

    registerEmail: {
        required: true,
        email: true,
        remote: "http://beta.mysite.com/Testmail.asp"
    },
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      • 2012-02-23
      • 2012-08-27
      • 1970-01-01
      • 2013-01-27
      • 1970-01-01
      相关资源
      最近更新 更多