0

同じ名前の複数のフォームの検証を行おうとしていますが、ここで失敗しましたのは私のコードです

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $("input.email").each(function(){
    $.validator.addMethod("email", function(value, element) {  
    return this.optional(element) || /^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$/i.test(value);  
    }, "Please enter a valid email address.");               
        });
        $("#signup").validate({
                rules: {
                        email: "required email",


                },
 });
    });

</script>

<form method="post" action="jqueryregthank.html" name="signup" id="signup">
<input type="text" name="email[]" id='email'/><br />
<input type="text" name="email[]" id='email'/><br />
<input type="text" name="email[]" id='email'/><br />
<input type="submit" value=" Sign-UP " name='SUBMIT' id="SUBMIT"/>
</form>

誰かが私を助けてくれることを願っています

4

2 に答える 2

0

$.each セレクターで検証するフィールドを指定するだけです。

$("input[name=email]").each(function(){

また、HTML ID タグは一意である必要があります。そうしないと、ページがおかしくなります。名前付きのクラスemailは、あなたの例により適しています。

于 2012-09-02T04:01:03.323 に答える
0

まず、Web ページには、同じ ID を持つ要素が 2 つ存在することはできません。だからそれを

<input type="text" name="email[]" class='email'/><br />

これはうまくいきます

于 2012-09-01T22:46:24.317 に答える