2015-01-15 96 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