代碼一:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>無標題文檔</title>
<script type="text/javascript" src="js/jquery.js"></script>
</head>
<body>
<input type="button" id="btn" value="免費獲取驗證碼" onclick="settime(this)" />
<script type="text/javascript">
var countdown=60;
function settime(val) {
if (countdown == 0) {
val.removeAttribute("disabled");
val.value="免費獲取驗證碼";
countdown = 60;
} else {
val.setAttribute("disabled", true);
val.value="重新發送(" + countdown + ")";
countdown--;
}
setTimeout(function() {
settime(val)
},1000)
}
</script>
</body>
</html>
代碼二:
注冊的時候需要發送驗證激活帳號的郵件,為了避免郵件的多次重復發送,所以可以在點擊了發送後,設置button要過一段時間才能繼續點擊。下面是一個簡單的例子:
<html>
<head>
<title>點擊獲取驗證碼按鈕後按鈕變灰,倒計時一段時間後又可重復點擊</title>
</head>
<body>
<input type="button" id="btn" value="免費獲取驗證碼" />
<script type="text/javascript">
var wait=60;
function time(o) {
if (wait == 0) {
o.removeAttribute("disabled");
o.value="免費獲取驗證碼";
wait = 60;
} else {
o.setAttribute("disabled", true);
o.value=wait+"秒後可以重新發送";
wait--;
setTimeout(function() {
time(o)
},
1000)
}
}
document.getElementById("btn").onclick=function(){time(this);}
</script>
</body>
</html>