一千萬個為什麽

搜索

在JS中的表單提交按鈕上掛鉤同步事件處理程序

我正在使用javascript開發一個安全項目(老實說我還沒用過),而且我遇到了一些EventListeners問題。

我的代碼看起來像這樣:

function prevclick(evt) {
evt.preventDefault();
document.loginform.submitbtn.removeEventListener('click',prevclick,false);
var req = new XMLHttpRequest();
req.open("GET","testlog.php?submission=complete",false);
req.send();
document.loginform.submitbtn.click(); //tried this and loginform.submit()
}

document.loginform.submitbtn.addEventListener('click',prevclick,false);

但問題是,提交按鈕不會在第一次單擊時提交表單(但是,它會在第一次單擊時發送http請求),然後在第二次單擊提交按鈕時,它會正常工作。

我認為同步存在問題,但我需要在將用戶轉發到下一頁之前處理請求。

對此的任何想法都會很棒。提前致謝。

最佳答案

刪除 evt.preventDefault()行。並刪除該函數的最後一行。

轉載註明原文: 在JS中的表單提交按鈕上掛鉤同步事件處理程序