0

我无法让 jQuery 的验证插件正常工作。我成功地引入了 jquery.js 和 jquery.validate.js。我的脚本如下:

$(document).ready(function($) {

    $("#apply").validate({
        rules: {
            firstname: "required",
            surname: "required",

            secret: {
                required: true,
                minlength: 5
            },
            verify_secret: {
                required: true,
                minlength: 5,
                equalTo: "#secret"
            },
            email: {
                required: true,
                email: true
            },

        },
        messages: {
            firstname: "Please enter your firstname",
            surname: "Please enter your surname",

            secret: {
                required: "Please provide a password",
                minlength: "Your password must be at least 5 characters long"
            },
            verify_secret: {
                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",

        }
    });


});

这是我的标记:

    <form method="post" action="apply.php" id='apply'>


        <input type='text' name='firstname' id='firstname' value=''/>
        <input type='text' name='surname' id='surname' value=' '/>

<input type='text' name='email' id='email' value='Your Email Address'/>

        <label for='secret'>Your Chosen Password</label>
        <input type='password' name='secret' id='secret'/>

        <label for='verify_secret'>Verify Your Password</label>
        <input type='password' name='verify_secret' id='verify_secret'/>



        <input type='submit' name='submit' value='Submit'/>
    </form>

我缺少一些依赖项吗?我没有收到任何错误消息或任何其他可能帮助我解决问题的信息。

4

2 回答 2

3

根据 jQuery 文档$().ready(function() {推荐”。

由于您没有提及其他 JavaScript 库也在$您的页面上使用该变量,或者任何关于使用noConflict() 模式的内容,因此只需使用标准document.ready函数而不将多余的内容传递给$它。

$(document).ready(function() { ... });

这是您的代码的工作演示...

http://jsfiddle.net/9ZVab/

我还发现/删除了几个尾随逗号。我注意到您在两个密码字段上有相同的规则。由于第二个字段正在使用该equalTo规则,因此其他规则是多余的,可以删除。见:http: //jsfiddle.net/tnuQa/

于 2013-02-13T15:58:58.703 回答
1

而不是这个,我不明白你为什么这样使用jquery?

$().ready(function($) {

尝试

$(document).ready(function() {
于 2013-02-13T12:14:22.700 回答