2010-11-03 142 views
27

我正在使用jquery进行表单验证。除了确认密码字段外,其余的都很好。即使输入相同的密码,请输入相同的密码。未被删除。jquery确认密码验证

我的脚本是:

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#form1").validate({ 
     rules: { 
      password: { 
       required: true, minlength: 5 
      }, 
      c_password: { 
       required: true, equalTo: "#password", minlength: 5 
      }, 
     email: { 
      required: true, email: true 
      }, 
     phone: { 
      required: true, number: true, minlength: 7 
      }, 
     url: { 
      url: true 
     }, 
     description: { 
      required: true 
     }, 
     gender: { 
      required: true 
      } 
     }, 
     messages: { 
     description: "Please enter a short description.", 
     gender: "Please select your gender." 

     } 
     }); 
    }); 
    --> 
    </script> 

和表单标签中:

<div class="form-row"><span class="label">Password</span><input type="password" name="password" class="required" id="password" /></div> 

<div class="form-row"><span class="label">Confirm Password</span><input type="password" name="c_password" id="c_password" /></div> 

什么建议吗? 非常感谢您的帮助。

回答

18

您的域没有ID属性。 在jQuery中的“#Password”来选择意味着

你的代码看起来应该是这样“有一个id属性与价值'password'对象”:

<input type="password" name="password" id="password" class="required"/> 
2

确保您的密码的输入文本的ID是“密码”

+0

那么我们需要一些更多的代码来图出了什么问题 – Dalen 2010-11-03 07:52:16

+0

我添加了代码,请检查。 – 2010-11-03 09:03:29

1

确保与标签id='password'中没有其他输入相同的页面。

2
rules: { 

未关闭。把另一个}后:

messages: { 
    description: "Please enter a short description.", 
    gender: "Please select yor gender." 
} 

这是以及有关元素ID的答案。

1

我在使用camelCase id作为密码输入时遇到了一些问题。我Finnally得到它与不同的'名称'和'ID'工作。

<input type="password" id="pass" placeholder="New password" name="newPassword"> 
<input type="password" id="pass2" placeholder="New password" name="repeatNewPassword"> 
<input type="email" id="inputNewEmail" name="newEmail" placeholder="New email"> 
<input type="email" id="repeatNewEmail" name="repeatNewEmail" placeholder="New email> 

然后在JS:

rules: { 
      newPassword: { 
       minlength: 6 
      }, 
      repeatNewPassword: { 
       minlength: 6, 
       equalTo: "#pass" 
      }, 
      newEmail: { email: true}, 
      repeatNewEmail: {email: true, equalTo: '#inputNewEmail'}, 
} 

所以是指输入字段由它的名字“,但定义equalTo deppendency使用 '身份证'。我不知道关于驼峰问题,因为它工作的电子邮件投入,但投入的密码完全相同的命名没有工作,根据我的经验

7
<input type="password" id="password" class="nomal required error" value="" name="cpassword"> 

<input type="password" equalto="#password" class="nomal required error" value="" name="cpassword"> 
+2

总是解释你的答案除了代码。 – Rikesh 2013-02-27 07:01:02

0
if($("#newpassword").val()!== ($("#conformpassword").val())){ 
    $('#newpasswordId').html('<font color="red">Your password does not match</font>'); 
    $("#newpassword").val(''); 
    $("#conformpassword").val(''); 
    $('#newpassword').css("border", "#FF0000 solid 1px") 
    $('#conformpassword').css("border", "#FF0000 solid 1px") 
    $("#newpassword").focus(); 

    return false; 
} 
+0

你从哪里得到这些ID?它们与问题中的不匹配。只是复制你的项目的一部分不太可能帮助任何人。还要注意这个问题是两岁。 – 2013-03-14 08:14:50