[英]jQuery change event sequence
我在表單上的 textarea 中添加了 ajax 驗證,並在 html 中使用onblur
啟動它。 但是我注意到如果我去提交onblur
事件不會觸發。 閱讀了大量背景資料后,我發現了一個setTimeout
技巧,我認為它應該通過將提交延遲到模糊之后來工作。 但我顯然做錯了什么或者誤解了實際發生的事情,因為它不起作用。
我在頁腳中讀取到我的頁面的文件中的文檔就緒塊中編碼了以下內容:
$('button[type="submit"]').click(function(){
setTimeout(() => this,0);
$("#description").trigger('blur');
});
任何人都可以看到/解釋我的問題嗎?
據我了解,您使用 AJAX 將文本字段值發送到服務器以對其進行驗證。
函數 setTimeout 對您的情況沒有幫助。 您必須先等待驗證結果。 並在驗證結果到達后提交表單。
所以你的代碼可能是這樣的:
var isValid;
$("#description").on('blur', function(event){
isValid = false;
startValidation().then(function(){
isValid = true;
form.submit();
});
});
$('button[type="submit"]').on('click', function(event){
if (!isValid){
event.preventDefault();
return false;
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.