【发布时间】:2015-01-15 14:25:55
【问题描述】:
在我的主页上,我有一个登录模式,通过基本表单询问用户的电子邮件地址和密码。输入电子邮件地址后,我会进行远程验证,以检查电子邮件地址是否在我的数据库中的黑名单表中。但是无论PHP返回false还是true都会触发远程错误并且不会让表单提交,即使PHP返回true也是如此。除遥控器外,所有验证均正常工作。我似乎无法解决这个问题,我已经查看了所有内容,但没有任何发现可以解决这个问题。
主页 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或chrome开发工具中看到请求响应了吗,即开发工具...?
-
是的萤火虫,它返回应该是真/假,但 jquery 中的错误消息仍然会触发
-
如果您通过包含
form参数submitHandler: function(form){...正确使用submitHandler,您可以简单地这样做:$(form).serialize()
标签: javascript php jquery validation