最近用framework7框架做一个App项目,一下代码是新用户注册的时候给后台发送ajax请求的同时执行表单验证和到时定时器的顺序。
myApp.onPageInit("register",function(){ //myApp.onPageInit("register")中的register是注册页面中data-page的值
$$(".button").click(function(){
var str_name = $$(".username").val().trim() || '';
var reg_name = /^1[3|4|5|7|8][0-9]{9}$/;
// console.log(str_name);
if (str_name == "" ) {
alert("请输入手机号");
return false;
}
if ( str_name === 0 || reg_name.test(str_name)==false) {
alert("请输入有效手机号");
return false;
}
var str_ver =$$(".yanzhengma").val() || '';
var url ="Ajax请求接口";
var str_name = $$(".username").val().trim() || '';
// alert(str_name);
var data = {
phoneNum:str_name
};
// alert(str_ver);
$$.ajax({ //Ajax请求开始
url: url,
type: 'post',
dataType: 'JSON',
data: data,
success: function(res) { //Ajax请求发送成功后就开始到时计算时间
// 注册页面获取验证码定时器
var _this = $$('.huoqu');
var count = 60; //@1、定义一个秒数
var keng = setInterval(kengNo,1000); //@2、写一个函数 函数里有个方法 每秒执行
function kengNo(){
_this.attr("disabled",true).val(count+"秒后重试"); //@3、点击之后禁止button按钮,修改value值
// $('.but');
if(count == 0){ //@4、当5秒减完 判断
_this.val("请获取验证码").removeAttr("disabled"); //@5、清楚禁止属性 ,重置value值
clearInterval(keng); //@6、清除函数
}
count--;//@每次执行这个方法将会减1
}
// console.log(res);
/* if (res.status == 1) {
alert("666");
}else{
alert("注册失败")
}*/
},
error: function(err) {
console.log(err);
}
});
});
});