jquery ajax的success回调函数中实现按钮置灰倒计时

时间:2021-05-26

主要是实现异步手机发送短信成功之后在ajax的success回调中实现将发送按钮置灰并倒计时,刚开始一直报js错误,问题可能出在于调用ajax之后this被更新,随意在这之前先把this对象赋给一个变量就没问题

按钮倒计时代码
复制代码 代码如下:
var wait = 60;
get_code_time = function (o) {
if (wait == 0) {
o.removeAttribute("disabled");
o.value = "免费获取验证码";
wait = 60;
} else {
o.setAttribute("disabled", true);
o.value = "(" + wait + ")秒后重新获取";
wait--;
setTimeout(function() {
get_code_time(o)
}, 1000)
}
}

获取手机短信之后调用get_code_time函数代码
复制代码 代码如下:
//重新获取验证码
$('#codeagain').click(function() {
var o = this;
$.ajax({
url:"Tea_sendCode.action?jsoncallback=?",
type:"post",
data: {accountId:accountId},
dataType: "json",
success: function (data) {
if(data.status == 1 && data.code == 200){
alert("验证码已发送至您的手机");
get_code_time(o);
} else {

if(data.msg != ""){
alert(data.msg);
} else {
alert("短信验证码发送失败");
}
}
},
error: function (data) {
if(data.status == 0) {
alert(data.msg);
} else {
alert("短信验证码发送失败");
}
}
});
});

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章