驗證碼倒計時

<!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" />
<head>
<title></title>

<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
var InterValObj; //timer變量,控制時間
var count = 30; //間隔函數,1秒執行
var curCount;//當前剩餘秒數
var code = ""; //驗證碼
var codeLength = 6;//驗證碼長度
function sendMessage() {
curCount = count;
var dealType; //驗證方式
var uid=$("#uid").val();//用戶uid
if ($("#phone").attr("checked") == true) {
	dealType = "phone";
}
else {
	dealType = "email";
}
//產生驗證碼
for (var i = 0; i < codeLength; i++) {
	code += parseInt(Math.random() * 9).toString();
}
//設置button效果,開始計時
	$("#btnSendCode").attr("disabled", "true");
	$("#btnSendCode").val( + curCount + "秒再獲取");
	InterValObj = window.setInterval(SetRemainTime, 1000); //啓動計時器,1秒執行一次
//向後臺發送處理數據
	$.ajax({
		type: "POST", //用POST方式傳輸
		dataType: "text", //數據格式:JSON
		url: 'Login.ashx', //目標地址
		data: "dealType=" + dealType +"&uid=" + uid + "&code=" + code,
		error: function (XMLHttpRequest, textStatus, errorThrown) { },
		success: function (msg){ }
	});
}
//timer處理函數
function SetRemainTime() {
	if (curCount == 0) {                
		window.clearInterval(InterValObj);//中止計時器
		$("#btnSendCode").removeAttr("disabled");//啓用按鈕
		$("#btnSendCode").val("從新發送驗證碼");
		code = ""; //清除驗證碼。若是不清除,過期間後,輸入收到的驗證碼依然有效    
	}
	else {
		curCount--;
		$("#btnSendCode").val( + curCount + "秒再獲取");
	}
}
</script>

</head>
<body>
		
		<div style="width:320px;margin:40px auto 0 auto;">
			<input type="text" style="margin-right: 10px;" class="" />
			<input id="btnSendCode" type="button" value="獲取驗證碼" onClick="sendMessage()" />
		</div>
		
</body>
</html>
相關文章
相關標籤/搜索