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

js教程评论477 views阅读模式

主要是实现异步手机发送短信成功之后在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("短信验证码发送失败");

}

}

});

});

企鹅博客
  • 本文由 发表于 2019年9月16日 16:55:42
  • 转载请务必保留本文链接:https://www.qieseo.com/420597.html

发表评论