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() modeの使用については何も言及していないため、余分なものを渡さに標準document.ready関数を使用してください。$

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

ここにあなたのコードのデモがあります...

http://jsfiddle.net/9ZVab/

また、いくつかの末尾のコンマを見つけて削除しました。両方のパスワード フィールドで同じ規則を使用していることに気付きました。2 番目のフィールドがルールを使用しているためequalTo、他のルールは冗長であり、削除できます。参照: http://jsfiddle.net/tnuQa/

于 2013-02-13T15:58:58.703 に答える
1

これの代わりに、なぜこのようなjqueryを使用したのか理解できませんか?

$().ready(function($) {

試す

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