我的JQuery equalTo抱怨两个类似的电子邮件不匹配

My JQuery equalTo is complaining that two similar emails do not match

本文关键字:两个 不匹配 电子邮件 equalTo JQuery 我的      更新时间:2023-09-26

为什么我对两个电子邮件地址的匹配仍然声称它们不匹配,即使它们完全相同?得到错误信息的是email2。

 * Email: <input type='text' name='email' /> <br/>
 * Repeat email: <input type='text' name='email2' /> <br/>   

$("#addagentform").live('blur',function(e){
                  $("#addagentform").validate({
                      rules: {  
                             email: {
                                required: true, 
                                email: true 

                              }, 
                              email2: {
                                    required: true, 
                                    equalTo: "#email"
                              },
                           }
                    }); 
 });

我发现其他人有同样的问题,但显然与我有不同的问题,因为他们的解决方案没有帮助我。

尝试将其包装在rules: {}块中,如下所示:

 * Email: <input type='text' id='email1' name='email1' /> <br/>
 * Repeat email: <input type='text' id='email2' name='email2' /> <br/>   

$("#addagentform").live('blur',function(e){
                  $("#addagentform").validate({ 
                         rules: {
                             email1: {
                                required: true, 
                                email: true 
                              }, 
                              email2: {
                                required: true, 
                                email: true,
                                equalTo: '#email1'
                              }
                           }
                    }); 
 });

不确定是否真的重要,但惯例是在规则中使用单引号,并且字段名email可能无效,这取决于您使用的插件的版本。尝试使字段email1email2。最后,您还应该为相关字段提供id

您没有为您的字段分配id属性。#email可能无法通过这种方式找到目标。

 <input type='text' name='email' id='email'/>