0

私はこれを2日間機能させようとして成功しませんでした。すべてのチュートリアルを試し、実際に機能するコードをいくつか試しましたが、役に立ちませんでした。

ほとんどの場合、見つけるのはかなり簡単ですが、私のjqueryの知識は非常に限られています。

問題は、検証を正しく機能させることができないことです。以前は、「Class = requiredemail」属性を使用して1つのフィールド(Eメールフィールド)に対してのみ機能していました。しかし、それも機能しなくなりました。

  $(document).ready(function(){
$("#forumulier").validate({
    rules: {
            telephone: {
                required: true,
                digits: true,
                        },

            name: {
                required: true,
                    },

            surname: {
                required: true,
                    },

            email: {
                required: true,
                email: true,
                }
            },
    messages: {
            telephone: {
                digits: "* voer een geldig telefoon nummer in"
                },
            name: {
                required: "* dit veld is verplicht"
                },
            surname: {
                required: "* dit veld is verplicht"
                },
            email: { 
                required: "* voer een geldig email adres in"
                }
            }
        submitHandler: function(form){
            return false;
            }
});
})

------

<form id="formulier" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
            <div class="group">
            <label for="name" class="label">Naam*:</label>
            <input type="text" name="name"/>
            </div>

            <div class="group">
            <label for="surname" class="label">Achternaam*:</label>
            <input type="text" name="surname"/>
            </div>

            <div class="group">
            <label for="email" class="label">Email*:</label>
            <input type="text" name="email" />
            </div>

            <div class="group">
            <label for="telephone" class="label">Telefoon*:</label>
            <input type="text" id="telephone" name="telephone" />
            </div>

            <label for="extra" class="label">Opmerkingen:</label>
            <textarea class="small-area"></textarea>


            <div class="clear"></div>

            <button type="submit" class="send">Verzenden</button>
        </form>

よろしくお願いします

4

3 に答える 3

0
 $(document).ready(function(){
$("#forumulier").validate({
    rules: {
            telephone: {
                required: true,
                digits: true
                        },

            name: {
                required: true
                    },

            surname: {
                required: true
                    },

            email: {
                required: true,
                email: true
                }
            },
    messages: {
            telephone: {
                digits: "* voer een geldig telefoon nummer in"
                },
            name: {
                required: "* dit veld is verplicht"
                },
            surname: {
                required: "* dit veld is verplicht"
                },
            email: { 
                required: "* voer een geldig email adres in"
                }
            },
        submitHandler: function(form){
            form.submit();
            }
});
});

カンマが多すぎるようです。単純な構文エラーが発生したときに通知するjavascriptデバッガーにコードを配置する必要があります。

于 2012-11-02T15:45:07.700 に答える
0

検証用のメッセージを設定するときは、使用している検証ごとにメッセージを設定する必要があります:必須、日付、電子メールなど。

このような。

messages: {
    telephone: {
        required: " your message here",
        digits: "* voer een geldig telefoon nummer in"

    },
    name: {
        required: "* dit veld is verplicht"
    },
    surname: {
        required: "* dit veld is verplicht"
    },
    email: { 
        required: "* voer een geldig email adres in",
        email: " your message here"
    }
},
submitHandler: function(form){
   form.submit();
}

これはあなたの例でうまくいくはずです。

更新..これは完全な例です。私はあなたのコードと私のコードを使用しました。

<html>
<head>
    <title></title>
</head>
<body>
<form id="form" method="post" action="">
<div class="group">
<label for="name" class="label">Naam*:</label>
<input type="text" name="name"/>
</div>

<div class="group">
<label for="surname" class="label">Achternaam*:</label>
<input type="text" name="surname"/>
</div>

div class="group">
<label for="email" class="label">Email*:</label>
<input type="text" name="email" />
</div>

<div class="group">
<label for="telephone" class="label">Telefoon*:</label>
<input type="text" id="telephone" name="telephone" />
</div>

<label for="extra" class="label">Opmerkingen:</label>
<textarea class="small-area"></textarea>


<div class="clear"></div>

<input type="submit" class="send">
</form>​
<script type="text/javascript" src='https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js'></script>
    <script src='http://ajax.aspnetcdn.com/ajax/jquery.validate/1.10.0/jquery.validate.min.js'></script>
<script>
$(document).ready(function(){
$("#form").validate({
rules: {
telephone: {
required: true,
digits: true,
},
name: {
required: true,
},
surname: {
required: true,
},
email: {
required: true,
email: true,
}
},
messages: {
telephone: {
required: " your message here",
digits: "* voer een geldig telefoon nummer in"
},
name: {
required: "* dit veld is verplicht"
},
surname: {
required: "* dit veld is verplicht"
},
email: { 
required: "* voer een geldig email adres in",
email: " your message here"
}
},
submitHandler: function(form){
form.submit();
}
});
});          
</script>​​​​​​​​​​​​​​
</body>
</html>

送信ボタンを確認してください。ボタンtype='submit'を取得しました。私がそれを使うとき、それは働きませんでした。input type='submit'に変更します

于 2012-11-02T16:44:58.230 に答える
0

他の人がコンマで指摘した問題以外に、formulier検証の呼び出しでスペルを間違えただけなので、検証コードは何にも添付されていません(「for * u * mulier」を使用しました)。

だからこれに修正してください:

$("#formulier").validate({
    rules: {
        telephone: {
            required: true,
            digits: true
                    },

        name: {
            required: true
                },

        surname: {
            required: true
                },

        email: {
            required: true,
            email: true
            }
        },
    messages: {
        telephone: {
            digits: "* voer een geldig telefoon nummer in"
            },
        name: {
            required: "* dit veld is verplicht"
            },
        surname: {
            required: "* dit veld is verplicht"
            },
        email: { 
            required: "* voer een geldig email adres in"
            }
        },
    submitHandler: function(form){
        return false;
        }
});​​​​

各オブジェクトの最後のアイテムのカンマが削除されました。submitHandlerの前にコンマが追加されました。 forumulierに変更されましたformulier

今はこのように見えます:http: //jsfiddle.net/ryleyb/Xn5YJ/

于 2012-11-02T20:56:08.937 に答える