2016-12-27 73 views
0

我發現了一些類似的問題。不過,我仍然無法解決這個問題。我在驗證密碼時遇到了麻煩。如果我在密碼輸入中寫入某些內容,然後在我的密碼輸入中輸入相同的密碼,它會驗證密碼。但是,如果我從我的密碼中刪除了一封信,cpassword仍然認爲它是正確的。確認密碼問題jquery代碼

這是我cpassword-check.js

// Validate confirm password while typing 
$(document).ready(function() {  
    $('#cpassword').click(function(){ 
     var cpassword = $('#cpassword').val(); 
     if (cpassword.length > 0) { 
      $("#resultcpass").html('<i class="fa fa-circle-o-notch fa-spin loading-icon"></i>'); 
      $.ajax({ 
       type : 'POST', 
       url : 'cpassword-check.php', 
       data : { 
        cpassword: $('#cpassword').val(), 
        password: $('#password').val() 
       }, 
       success : function(data) { 
        $("#resultcpass").html(data); 
       } 
      }); 
      return false; 

     } else { 
      $("#resultcpass").html(''); 
     } 
    }); 
}); 

而這正是它證明了它(cpassword-check.php):

/*$host="localhost"; 
$user="root"; 
$pass=""; 
$dbname="lr"; 

$dbcon = new PDO("mysql:host={$host};dbname={$dbname}",$user,$pass);*/ 

if($_POST['cpassword']) { 
    $cpassword = strip_tags($_POST['cpassword']); 
    $password = strip_tags($_POST['password']); 

    if ($cpassword != $password) { 
     echo "<i class='fa fa-circle user-validation-w pull-right' aria-hidden='true'></i><span class='availability pull-right'> Deben coincidir</span>"; 
    } else { 
     echo "<i class='fa fa-check user-validation-ok pull-right' aria-hidden='true'></i><span class='availability pull-right'></span>"; 
    } 
} 

請你幫我執行該功能每秒鐘,或者可能做別的事情來驗證cpassword,即使密碼更改?

謝謝!

+0

你爲什麼要用AJAX調用來驗證它?你可以用普通的JavaScript來完成,而且你必須再次使用PHP,因爲你可以在大多數瀏覽器中刪除AJAX請求。 – DevNiels

+0

密碼檢查是必須在PHP中完成還是可以在JavaScript本身完成? – GraveyardQueen

+0

這不是強制性的,我只是這樣做,因爲我看到了一個例子,而且我對jscript不太擅長。我如何使用普通的js來驗證它? –

回答

1

你只cpassword場的單擊事件應用驗證,但同樣應該適用於既作爲

// Validate confirm password while typing 

$(document).ready(function() 
{  
$('#cpassword').click(function(){ 
    validatePass(); 
}); 

$('#password').click(function(){ 
    validatePass(); 
}); 

function validate(){ 
    var cpassword = $('#cpassword').val(); 

    if (cpassword.length > 0) 
    { 
    $("#resultcpass").html('<i class="fa fa-circle-o-notch fa-spin loading-icon"></i>'); 


      /*$.post("email-check.php", $("#reg-form").serialize()) 
      .done(function(data){ 
      $("#resultmail").html(data); 
      });*/ 

$.ajax({ 

type : 'POST', 
url : 'cpassword-check.php', 
data : { 

    cpassword: $('#cpassword').val(), 
    password: $('#password').val() 

    }, 

success : function(data) 
    { 
      $("#resultcpass").html(data); 
     } 
}); 
return false; 

    } 
    else 
    { 
    $("#resultcpass").html(''); 
    } 

}); 
} 
+0

我會試一試。 –

+0

在輸入上使用更改事件會帶來更好的效果,您可以使用父窗體上的「提交」功能以及@DiegoRios – DevNiels

+0

@Rahul它的工作原理,謝謝! –

0

綁定功能來檢查按鍵事件的密碼。

2

只需使用jQuery它。

$(document).ready(function() { 
    $("#register").on('click', function() { 
    password = $.trim($("#password").val()); 
    repassword = $.trim($("#repassword").val()); 
    var msg = ""; 
    if (password != repassword) { 
     msg += " <p>Password did not match</p>"; 
    } 
    if (msg == "") { 
     $("#register_form").submit(); 
    } else { 
     $("#msg").html(msg); // show error message 
    } 
    }); 
}); 
+0

感謝您的解決方案!但我想我會堅持ajax呼叫。我知道這可能是浪費時間,但它工作哈哈哈。不管怎麼說,多謝拉! –