主要是实现异步手机发送短信成功之后在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("短信验证码发送失败");
}
}
});
});
按钮倒计时代码
复制代码 代码如下:
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("短信验证码发送失败");
}
}
});
});
标签:
回调函数,按钮置灰,倒计时
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com
暂无“jquery ajax的success回调函数中实现按钮置灰倒计时”评论...