Theo cách thuần túy Javascript, bạn có thể gửi biểu mẫu sau khi ngăn chặn mặc định.
Điều này là do HTMLFormElement.submit()
không bao giờ gọi các onSubmit()
. Vì vậy, chúng tôi đang dựa vào đặc điểm kỹ thuật đó để gửi biểu mẫu như thể nó không có trình xử lý gửi gửi tùy chỉnh ở đây.
var submitHandler = (event) => {
event.preventDefault()
console.log('You should only see this once')
document.getElementById('formId').submit()
}
Xem thao tác này để biết yêu cầu đồng bộ.
Chờ một yêu cầu không đồng bộ kết thúc cũng dễ dàng như sau:
var submitHandler = (event) => {
event.preventDefault()
console.log('before')
setTimeout(function() {
console.log('done')
document.getElementById('formId').submit()
}, 1400);
console.log('after')
}
Bạn có thể kiểm tra fiddle của tôi để biết ví dụ về yêu cầu không đồng bộ.
Và nếu bạn thất vọng với những lời hứa:
var submitHandler = (event) => {
event.preventDefault()
console.log('Before')
new Promise((res, rej) => {
setTimeout(function() {
console.log('done')
res()
}, 1400);
}).then(() => {
document.getElementById('bob').submit()
})
console.log('After')
}
Và đây là rằng yêu cầu .