2015-01-15 97 views
-1

在我的主页上,我有一个登录模式,通过基本表单询问用户的电子邮件地址和密码。当输入电子邮件地址时,我有一个远程验证,用于检查电子邮件地址是否在我的数据库的黑名单表中。但是,无论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); 
+0

你见过你的请求响应Firedebug或铬开发工具,即开发工具...? – mathk

+0

是的萤火虫,它返回它应该是真/假,但在jquery中的错误信息仍然会触发 – mpiazza031

+0

如果通过包括它的'form'参数正确使用'submitHandler','submitHandler:function(form){... ',你可以简单地这样做:'$(form).serialize()' – Sparky

回答

-1

问题是远程: '脚本/ blacklist.php'在单''

不久,我把它改为双引号“scripts/blacklist.php”我吨工作正常...

如果有人知道我为什么很想知道,所以我可以理解,但问题解决!

+0

我不明白是什么问题。请通过代码。 – mathk

+0

问题在于远程错误远程:“此电子邮件地址已被列入黑名单”无论如何都被解雇。但它显然是因为规则远程调用不是双引号 – mpiazza031

+0

添加您正确的JavaScript。它是在PHP端还是Javacript。更精确。 – mathk