2017-04-06 87 views
0

此代碼是爲了避免在形式雙擊用的setTimeout禁用按鈕幾秒鐘提交功能,避免雙擊不輸入工作提交鉻只

它運作良好,在IE &火狐但形式上絕不提交在Chrome

<input type="submit" id="button" class="button" onclick="foo(this);" name="submit_forgot" value="Submit" /> 

和這裏的功能:

function foo(obj) { 
    obj.disabled = true; 
    setTimeout(function() { 
     obj.disabled = false; 
    }, 2000); 
    } 

感謝您的幫助!

回答

0

如果需要,我會用data來支持多個按鈕。

$("#button").click(function() { 
 
    if ($(this).data("disable")) { 
 
    return false; 
 
    } 
 
    $(this).data("disable", true); 
 
    
 
    clearInterval($(this).data("interval")); 
 
    
 
    $(this).data("interval", setInterval(function() { 
 
    $(this).data("disable", false); 
 
    }.bind(this), 2000)); 
 
    
 
    console.log("called"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="submit" id="button" class="button" name="submit_forgot" value="Submit" />

+0

非常感謝您!它運作良好!對於像我這樣的其他newby,我不得不將它包裝在$(document).ready(function(){}中。 – Vince