在我的主页上,我有一个登录模式,通过基本表单询问用户的电子邮件地址和密码。当输入电子邮件地址时,我有一个远程验证,用于检查电子邮件地址是否在我的数据库的黑名单表中。但是,无论PHP返回false还是true,都不会让表单提交,即使PHP返回true,也会引发远程错误。除远程以外,所有验证工作都正确。我似乎无法解决这个问题,我已经找遍了,没有发现可以解决这个问题。JQuery验证插件远程验证错误始终激发
首页jQuery的
$(function(){
$("#frmSignIn").validate({
rules: {
InputEmailAddress: {
required: true,
email: true,
remote:"scripts/blacklist.php"
},
InputPassword: {
required: true,
minlength: 3,
maxlength: 20
}
},
messages: {
InputEmailAddress:{
required:"Don't forget your email address!",
email:"Please enter a valid email address",
remote:"This email address has been backlisted"
},
InputPassword:{
required:"Please enter your password",
minlength:"Password must be longer than 3 characters",
maxlength:"Password can not be longet than 20 characters"
}
},
submitHandler: function(){
var data = $("#frmSignIn").serialize();
$.post('posted.php', data, function(o){
console.log(o);
},'json');
}
});
});
PHP
我将增加实际的表检查后,我得到这个工作
$email = $_GET['InputEmailAddress'];
$valid = true;
echo json_encode($valid);
你见过你的请求响应Firedebug或铬开发工具,即开发工具...? – mathk
是的萤火虫,它返回它应该是真/假,但在jquery中的错误信息仍然会触发 – mpiazza031
如果通过包括它的'form'参数正确使用'submitHandler','submitHandler:function(form){... ',你可以简单地这样做:'$(form).serialize()' – Sparky