我想通过AJAX传递2个值(#cpassword和#password),因此我可以比较这些值以检查它们是否匹配。我一直在尝试这样做,但似乎总是得到“ #cpassword”
这是我的cpassword-check.js文件:
// Validate confirm password while typing
$(document).ready(function()
{
$("#cpassword").keyup(function()
{
var cpassword = $(this).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 : {
$(this).serialize(),
$('#password').serialize()
},
success : function(data)
{
$("#resultcpass").html(data);
}
});
return false;
}
else
{
$("#resultcpass").html('');
}
});
});
和..这是我的cpassword-check.php文件:
<?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'> Must match with password</span>";
} else {
echo "<i class='fa fa-check user-validation-ok pull-right' aria-hidden='true'></i><span class='availability pull-right'></span>";
}
}
?>
我才刚刚开始学习,所以请慢慢解释。
谢谢。
最佳答案
您应该像@Curiousdev所说的那样在数据对象中使用属性名称。
请尝试以下操作:
data : {
cpassword: $(this).val(),
password: $('#password').val()
}