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

首先,在一个网页中,不能有两个 ID 相同的元素。所以改成

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

这将起作用

于 2012-09-01T22:46:24.317 回答