2014-10-16 189 views
3

我想驗證兩個輸入匹配每個其他與jquery,我找不到方法來做到這一點。我無法讓jquery獲取兩個輸入的值,因此無法檢查它們是否不匹配彼此。輸入與codeignither製成,所以對於誰不熟悉它 - 第一個輸入的ID是「通行證」,第二是「PASS2」檢查密碼是否與jquery匹配

<tr> 
      <td>choose a password:</td> 
      <td><?= form_password('password', '', 'placeholder="choose a password" required="required" id="pass"') ?></td> 
     </tr> 
     <tr> 
      <td>re-type the password:</td> 
      <td><?= form_password('password2', '', 'placeholder="re-type your password" required="required" id="pass2"') ?></td> 
     </tr> 

腳本 -

$(document).ready(function(){ 
    var pass = $('#pass').val(); 
    var pass2 = $('#pass2').val(); 

    $('#pass2').focusout(function(){ 
     if(pass != pass2){ 
      alert('the passwords didn\'t match!'); 
     } 

    }); 
}); 
+0

查看HTML,而不是...無論該模板語言。 – Quentin 2014-10-16 18:25:15

回答

10

,因爲您正在閱讀準備好的文檔上的值,而不是在用戶更改它們時。將它移到焦點範圍內。

$(document).ready(function(){ 
    $('#pass2').focusout(function(){ 
     var pass = $('#pass').val(); 
     var pass2 = $('#pass2').val(); 
     if(pass != pass2){ 
      alert('the passwords didn\'t match!'); 
     } 

    }); 
}); 
+0

+1,你在我以前寫過答案。 :) – 2014-10-16 18:26:33

4

因爲你需要編寫代碼

$('#pass2').focusout(function(){ 
    // get values on the focusout event 
    var pass = $('#pass').val(); 
    var pass2 = $('#pass2').val(); 
    // test them... 
    if(pass != pass2){ 
     alert('the passwords didn\'t match!'); 
    } 

}); 
相關問題