如何在使用event.preventDefault()时使用.submit()或如何不相互取消?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在使用event.preventDefault()时使用.submit()或如何不相互取消?相关的知识,希望对你有一定的参考价值。
我在验证用户的ID后尝试提交表单,但在输入有效的ID后,表单未发布:
<form action="/register" method="post" id="registerForm">
...
</form>
<script>
document.getElementById("submit").addEventListener("click", function(event) {
let input = document.getElementById("username");
$.get("/check?username=" + input.value, function(data) {
if (data == false){
alert("Username invalid or taken");
}
else {
alert("success");
document.getElementById("registerForm").submit();
}
});
event.preventDefault();
});
</script>
通过改变方向:
<script>
document.getElementById("submit").addEventListener("click", function(event) {
let input = document.getElementById("username");
$.get("/check?username=" + input.value, function(data) {
if (data == false){
alert("Username invalid or taken");
event.preventDefault();
}
else {
alert("success");
document.getElementById("registerForm").submit();
}
});
});
</script>
代码现在总是提交代码。我不确定是否是event.preventDefault()重写.submit()或者它是.submit()不是按预期的功能。
任何帮助,将不胜感激。
答案
尝试将addEventListener()“click”的事件类型更改为“submit”。
另一答案
将事件侦听器添加到整个表单并将事件更改为“submit”
另一答案
您能否请检查返回的数据/响应类型和消息。有时,巨大的问题来自非常微不足道的行
以上是关于如何在使用event.preventDefault()时使用.submit()或如何不相互取消?的主要内容,如果未能解决你的问题,请参考以下文章
如何在使用event.preventDefault()时使用.submit()或如何不相互取消?
在 onWheel 事件中使用 event.preventDefault 时,如何规避 reactjs 中的“被动事件监听器”
event.preventDefault 阻止 ajax 调用