我有一個使用jQuery驗證插件客戶端驗證形式,並且通過AJAX提交。提交表單後,我希望重置它自己。我已經使用了.resetForm()
方法重置等領域,其工作,但問題是驗證插件仍然會立即嘗試,當他們專注於驗證領域,並給予新的提交有機會進入自己的輸入之前給出了一個錯誤。jQuery驗證resetForm()不重置的onfocus驗證
實例流程圖:
- 觸發驗證最初
- 修復驗證,通過AJAX
- 呼叫.resetForm()提交表單,字段被成功清除了
- 嘗試重新填寫表格
- 專注於一個領域(這在我的情況有電子郵件驗證)
- 給你一個機會,進入輸入之前,VA蓋並說這是不正確的。
通常情況下,插件會讓你輸入你的輸入,然後告訴你它是不正確的。是否有任何方法可以真正重置表單,而不是再次進行焦點驗證,而不必一起關閉焦點驗證?
謝謝,這裏的清理/簡化代碼樣本!
// Validation
$('#registerForm').validate({
submitHandler: function(form) {
$(form).ajaxSubmit({
success: function(response) {
if(response == 'success') {
resetMyForm();
}
else {
alert('unsuccessful');
}
}
})
}
});
})
function resetMyForm() {
$('#registerForm').resetForm();
v.prepareForm(); // Tried adding this, no help
v.hideErrors(); // Tried adding this, no help
}
當你的驗證觸發?在提交或聚焦? –
它驗證兩個。 – Ryan