首页 > 解决方案 > 如何使 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>

标签: javascripthtmljquerycss

解决方案


你必须听表单提交而不是按钮提交

<form id="form" method="post">

document.getElementById("form").addEventListener("submit", function(e){ .... }

不要忘记在e.preventDefault();您的代码内部,以防止不必要的提交


推荐阅读