當我打電話$("form").valid()
我有一個遠程驗證檢查迷上了(這一切運作良好),但如果其他所有的字段都有效的形式通過了驗證,因爲遠程支票還沒有返回反應「足夠快」。jQuery驗證 - 等待遠程檢查完成
有沒有辦法要麼力jQuery驗證等待完成任何遠程支票或掛接到遠程檢驗呼叫的完整的事件嗎?
我目前使用內置到jQuery驗證框架http://docs.jquery.com/Plugins/Validation/Methods/remote
當我打電話$("form").valid()
我有一個遠程驗證檢查迷上了(這一切運作良好),但如果其他所有的字段都有效的形式通過了驗證,因爲遠程支票還沒有返回反應「足夠快」。jQuery驗證 - 等待遠程檢查完成
有沒有辦法要麼力jQuery驗證等待完成任何遠程支票或掛接到遠程檢驗呼叫的完整的事件嗎?
我目前使用內置到jQuery驗證框架http://docs.jquery.com/Plugins/Validation/Methods/remote
一個方法是,當遠程調用回來
var remote_complete = false;
$.ajax({
url: "test.html",
success: function(){
remote_complete = true;
}
});
while (remote_complete == false)
{
// loop until remote_complete = true;
}
另一種方法是遠程驗證完成
$.ajax({
url: "test.html",
success: function(){
validate_form();
}
});
小心while循環 - 這可能會導致瀏覽器無響應。 – iblamefish
我寧願後者。如果你真的想採用前一種方法,至少應該使用'setInterval'。 – Tower
雖然沒有setinterval - 壞主意 –
好後驗證的形式引入將被設置爲true的變量,如果您已經正確設置所有規則,那麼這不應該是一個問題。請參閱此demo遠程驗證電子郵件,直到檢查返回時驗證不會通過。
您可以張貼的jsfiddle,突出你的問題?
http://gloryplus.com/index.php?route=product/product&path=82&product_id=173
rules: {
name: {
minlength: 2,
required: true
},
email: {
required: true,
email: true
},
subject: {
minlength: 2,
required: true
},
message: {
minlength: 2,
required: true
}
},
highlight: function(label) {
$(label).closest('.control-group').addClass('error');
},
success: function(label) {
label
.text('OK!').addClass('valid')
.closest('.control-group').addClass('success');
}
那麼,有沒有辦法通過jQuery驗證框架自動實現? – monkeylee