jquery 再次点击失效,验证码获取,第一次可以,第二次的时候点击就不能触发了

<scripttype="text/javascript">varwait="180";functionchangeTime(){if(wait>0){wait=wait... <script type="text/javascript">
var wait="180";
function changeTime(){
if(wait > 0){
wait = wait - 1;
$("#getverify").val(wait+"秒后重新获取");
$("#getverify").attr("disabled","disabled");
}
if(wait == 0){
$("#getverify").val('重新获取验证码');
$("#getverify").removeAttr('disabled');
//当走到这里的时候 按钮再次点击就不能触发
return false;
}
}
$(document).ready(function(){
$("#getverify").bind("click",function(){
$telVal=$("#txtMobilePhone").val();
$ajax='ajax';
$.ajax({ type: "POST",
url: "",
data: "do="+$ajax+"&telVal="+$telVal,
success: function(msg){
if(msg=='222'){ setInterval(changeTime,1000); return false; }
if(msg=='111'){ alert("手机号已注册"); return false; }
if(msg="444"){ alert("手机格式有误"); return false; }
}
})
})
})
展开
 我来答
xuebaotuxi
2014-09-14 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4196
采纳率:85%
帮助的人:1042万
展开全部
亲,你分别把点击两次的wait弹出来看看,应该是第二次和以后点击的时候wait都一直等于0了。因为函数执行的是很快的,一瞬间wait=wait-1就会执行玩,也就是wait等于0,当然会一直执行这个条件if(wait == 0),也就是一直retun false当然点击就失效了。
更多追问追答
追问
我取消了那个
return false;

alert(wait) 就弹出1次 0
click点击了 时间没有在次显示 倒数重新发送。但是实际上却发送了
追答

你要在两个if里面都加上一个alert(wait),第一次应该执行上面的,上面的if只会执行一次,你应该写成

while(wait > 0){
wait = wait - 1;    
$("#getverify").val(wait+"秒后重新获取");
$("#getverify").attr("disabled","disabled");
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式