Возникли проблемы с подтверждением пароля jquery code
Я нашел несколько похожих вопросов. Однако, я все еще не могу исправить это. У меня проблемы с подтверждением пароля. Если я что-то напишу в поле ввода пароля, а затем напишу тот же пароль в поле ввода моего пароля, это подтвердит правильность пароля. Однако, если я удаляю письмо из моего пароля, cpassword все еще думает, что он понял это правильно.
Это мой 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>";
}
}
Не могли бы вы помочь мне выполнять эту функцию каждую секунду или, может быть, сделать что-то еще для проверки пароля, даже если пароль изменился?
Спасибо!
3 ответа
Вы применили проверку только по событию клика 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('');
}
});
}
Просто используйте 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
}
});
});
Функция привязки для проверки пароля на событие нажатия клавиши.