javascript - 如何使 addEventListener 在提交时工作
问题描述
在提交时遇到问题,使用时效果很好
document.getElementById("gets").addEventListener("click", b_button);
但当我使用时不起作用
document.getElementById("gets").addEventListener("submit", b_button);
有没有让它在提交上工作而不是使用点击
<form method="post">
<button type="submit" id="gets">Submit</button>
<p id="error"></p>
</form>
<script>
function b_button() {
document.getElementById("gets").disabled = true;
var time_meter = 10;
var runTimer = setInterval(function() {
if (time_meter <= 0) {
clearInterval(runTimer);
document.getElementById("error").innerHTML = "";
} else {
document.getElementById("error").innerHTML = 'counting ' + time_meter;
}
time_meter -= 1;
}, 1000);
setTimeout(function() {
document.getElementById("gets").disabled = false;
}, 10000);
}
document.getElementById("gets").addEventListener("submit", b_button);
</script>
解决方案
你必须听表单提交而不是按钮提交
<form id="form" method="post">
document.getElementById("form").addEventListener("submit", function(e){ .... }
不要忘记在e.preventDefault();
您的代码内部,以防止不必要的提交
推荐阅读
- c# - 当您使用 asp.net 身份有单独的身份项目时如何在其他项目中验证 JWT 令牌
- javascript - 从 AngularJS 中的 Promise.then() 返回 API 响应
- php - moyasar 支付 API 出现问题
- node.js - 从 Node.js 中的函数中获取价值
- android - 具有固定页眉、可滚动正文和固定页脚的 DialogFragment
- python-3.x - 是什么导致“非哈希类型”错误?
- android - onRestart 状态的目的是什么?
- node.js - 如何在不更改的情况下更新数据?
- sql - 在 where 语句中使用 if
- php - 如何使用复选框多次插入数据