我已经尝试了很多不同的东西,我最终放弃了并转而使用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;
});
}
答案 0 :(得分:1)
使表单的.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>