1 回答

TA貢獻1155條經驗 獲得超0個贊
當您在 HTMLForm 元素上使用該方法時,不會觸發表單的提交事件偵聽器:.submit()
當用戶單擊提交按鈕(或 )或在編輯表單中的字段(例如 )時按下時,將觸發提交事件。直接調用該方法時,不會將事件發送到窗體。
<input type="submit">
Enter<input type="text">
form.submit()
- 斷續器
您可以改用 .requestSubmit()
方法,該方法會觸發表單的 onsubmit 事件處理程序,并對表單執行約束驗證:
/* vanilla js replacement */
myForm = document.querySelector("form[name=myForm]")
myForm.querySelector("button").addEventListener('click', function() {
myForm.requestSubmit();
})
myForm.addEventListener('submit', function(e) {
e.preventDefault()
console.log("Submitting form");
})
<form name="myForm">
<input type="text" name="name" />
<button type="button">Click me</button>
</form>
此方法的主要缺點是,與 jQuery 的方法不同,請求提交() 的瀏覽器支持較弱。.submit()
添加回答
舉報