2010-11-03 144 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