0
我有一個關於jQuery驗證插件和具體遠程方法的問題。jQuery驗證:遠程方法
說我有一個checkEmail.php
腳本,用於檢查數據庫的電子郵件地址。我也使用required:true
和email:true
。我想在從服務器獲取響應的同時添加微調器,並在完成時隱藏它。
與此同時,如果服務器的結果是true
,我想在電子郵件字段旁邊顯示綠色的勾號圖標。
我用下面的代碼:
$('#form').validate({
rules: {
email: {
required: true,
email: true,
remote: {
url: 'js/ajax/checkEmail.php',
type: 'POST',
data: {
email: function() {
return $('#email').val();
}
},
beforeSend: function() {
//CODE TO SHOW THE SPINNER
},
success:function(output){
//CODE TO HIDE THE SPINNER
if(output == 'true')
{
//SHOW GREEN TICK
}
else
{
//SHOWS THE CUSTOM ERROR FROM SERVER
}
}
}
}
},
messages: {
email: {
required: 'Please enter your email',
email: 'Please enter a valid email address'
}
}
});
下面要說的電子郵件地址[email protected]
是在數據庫中。遠程方法將返回true
。同時滿足了required
和email
兩種方法。所以會顯示綠色的勾號。
問題:
如果我不滿意的需要,電子郵件的方法之一,那麼將自動顯示錯誤信息,但綠色的勾將保持不變。我試圖在.validate()
之後使用.valid()
來檢查表單何時無效,然後刪除綠色勾號。它不工作。
if($('#form').valid())
{
//REMOVE GREEN TICK : --> NOT WORKING
}
有什麼我可以做的操縱DOM如果表單無效?換句話說,我該如何做這項工作?
由於提前,
克里斯托
在成功函數的else部分隱藏tic? – Rasclatt
我不認爲這會起作用,因爲else部分是在遠程方法中被激活,如果滿足所需的和電子郵件方法。 – christostsang