js 防止重复提交

1、用flag标识,下面的代码设置submited 标志

/*方法1:设置一个全局JS变量*/
        var submited = false;
        function checkSubmit() {
            if (!submited)
            {
                submited = true;
                return true;
            }
            else {
                alert("请不要重复提交!");
                return false;
            }
        }
 
        function submitForm() {
            var f = document.getElementById("inputForm");
            if (checkSubmit())
            {
                f.submit();
            }
        }

2、在onsubmit事件中设置,在第一次提交后使提交按钮失效

<form action=”about:blank” method=”post” onsubmit =”getElementById(‘submitInput').disabled=true;return true;” target=”_blank”> 
<input type=”submit” id=”submitInput”/> 
</form> 
</body> 
</html> 
</script> 

3、今天发现jquery本身就可以很好的实现

$.ajax({
//$.ajax请求中的beforeSend方法中把提交按钮禁用掉 beforeSend: function(){ $("#submit").attr({ disabled: "disabled" }); }, complete: function(){
//Ajax请求执行完毕,在恢复按钮的可用状态。 $("#submit").removeAttr("disabled"); } // ......
原文地址:https://www.cnblogs.com/magic101/p/9254992.html