我覺得我在問“什么是 2 2 ?” 但我面臨一個我不明白的問題......這是代碼,易于理解:
<button type="button" onclick="send()">
<form id="form">
<input name="name">
</form>
<script>
const form = document.getElementById("form");
function send() {
form.submit();
}
form.addEventListener("submit", (e)=>{
// This code never gets executed,
// the default behavior still works.
// (note that my console preserves logs,
// so it should be visible even though the page is being refreshed.)
console.log("preventing default behavior");
e.preventDefault();
});
</script>
有人可以幫我解決這個問題嗎?這應該很容易,但由于某種原因,今晚的代碼不想對我好。
uj5u.com熱心網友回復:
這是(有些不直觀的)預期行為。請參閱檔案:HTMLFormElement.submit()
此方法與激活表單的提交類似,但并不完全相同。但是,當直接呼叫此方法時:
未引發提交事件。特別是,表單的 onsubmit 事件處理程式沒有運行。
不觸發約束驗證。
該
HTMLFormElement.requestSubmit()方法與激活表單的提交相同,并且沒有這些差異。
因此,您可以使用form.requestSubmit而不是form.submit.
uj5u.com熱心網友回復:
const form = document.getElementById("form");
function send() {
form.submit();
}
form.addEventListener("submit", (e)=>{
// This code never gets executed,
// the default behavior still works.
// (note that my console preserves logs,
// so it should be visible even though the page is being refreshed.)
e.preventDefault();
console.log("preventing default behavior");
send();
});
<form id="form">
<input name="name">
<button type="submit" >submit</button>
</form>
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/460652.html
標籤:javascript html 形式
上一篇:APIDELETE方法問題
