Vanilla javascript 表单验证,如何撤消防止提交时的默认

Vanilla javascript form validations, how to undo prevent default on submit

本文关键字:提交 默认 撤消 验证 表单 javascript 何撤消 Vanilla      更新时间:2023-09-26

我尝试了很多不同的东西,最终放弃了并切换到jQuery,但为了我的安心,在这种情况下我将如何撤消eventHandler?我现在拥有的当前方法不起作用。

Front end New Profile Form Validations
var profileForm = document.forms[0];
profileForm.onsubmit = function processForm(eventHandler) {
eventHandler.preventDefault();
if {blah blah blah, my code
}else{
  profileForm.submit(function(eventHandler) {
    return false;
  });
}

要么将窗体的 .onsubmit 属性设为 null,要么使用 .removeEventListener()

var form = document.getElementById("my-form"),
  button = document.getElementById("my-button"),
  text = document.getElementById("my-text");
function submitHandler(submitEvent) {
  alert("Stopping with value: " + text.value);
  submitEvent.preventDefault();
}
form.addEventListener("submit", submitHandler);
button.addEventListener("click", function() {
  form.removeEventListener("submit", submitHandler);
});
<form id="my-form">
  <input type="text" id="my-text" name="my-text">
  <input type="submit">
</form>