在输入组件上绑定<代码>数据模型的=皒xx”bindinput=癷nputWatch”代码>监听输入框输入:
& lt;输入占位符=扒胧淙? ~ 12位密码“name="密码" value=" https://www.yisu.com/zixun/{{密码}}”数据模型的类型=懊苈搿眀indinput=癷nputWacth”=懊苈搿弊畲蟪ざ??2”class=癴orm-item-input祝辞& lt;/input> inputWacth:函数(e) { 让项目=e.currentTarget.dataset.model; this.setData ({ [项目]:e.detail.value }); } >之前当输入11位手机号后,验证码按钮变为可点状态,当3个输入框都有值时(密码大于等于6位,手机11位),保存按钮变为可点状态。
& lt;形式bindsubmit=癴ormPhone”天气:else> & lt;视图类=癴orm-wrap”比; & lt;视图类=癴lex表单项”比; & lt;视图类=" form-item-text "祝辞密码& lt;/view> & lt;输入占位符=扒胧淙? ~ 12位密码“name="密码" value=" https://www.yisu.com/zixun/{{密码}}”数据模型的类型=懊苈搿眀indinput=癷nputWacth”=懊苈搿弊畲蟪ざ??2”class=癴orm-item-input祝辞& lt;/input> & lt;/view> & lt;视图类=癴lex表单项”比; & lt;视图类=癴orm-item-text”在新手机& lt;/view> & lt;输入占位符=扒胧淙胄率只拧皀ame="帐户"价值=" https://www.yisu.com/zixun/{{账户}}”数据模型的=罢驶А眀indinput=癷nputWacth”最大长度=?1”类型=笆俊眂lass=癴orm-item-input”祝辞& lt;/input> & lt;按钮类=" form-item-btn " catchtap=皊endCode”数据账户="{{账户}}"禁用=" {{codeDisabled}}在{{codeText}} & lt;/button> & lt;/view> & lt;视图类=癴lex表单项”比; & lt;视图类=" form-item-text "祝辞验证码& lt;/view> & lt;输入占位符=扒胧淙胙橹ぢ搿皀ame="验证"数据模型的=把橹ぁ眀indinput=癷nputWacth”最大长度=?”class=癴orm-item-input祝辞& lt;/input> & lt;/view> & lt;/view> & lt;视图类=癲efault-btn-wrap”比; & lt;按钮类=" default-btn "加载=表单类型“{{加载}}”=疤峤弧苯?{{禁用}}”在保存& lt;/button> & lt;/view> & lt;/form> 应用var=getApp (); var util=要求(“. ./. ./. ./跑龙套/util.js '); var ck=要求(“. ./. ./. ./跑龙套/check.js '); 从“进口{weChatUser} . ./. ./. ./跑龙套/api.js ' 页面({/* * *页面的初始数据 */数据:{ codeText:验证码',//按钮文字 禁用:真的,//codeDisabled:没错, currentTime: 60, 解释:“哦,//注册——账号 密码:",//注册——密码 验证:“,//验证码 },//修改手机号 formPhone: util.throttle ((e)=比;{ 让这=, 密码=e.detail.value.password, 账户=e.detail.value.account, 验证=e.detail.value.verification;//判断手机号密码 如果(! ck.checkPhone(账户)| | ! ck。checkNull(密码,密码”)| | ! ck。checkNull(验证,“密码”)){ 返回 }//手机号密码验证通过后,发请求修改密码 让数据=https://www.yisu.com/zixun/{“密码”:密码, “电话”:账户, “verificationCode”:号码(验证) } 让结果=weChatUser.updatePhoneBinding(数据) result.then ((res)=比;{ 如果(res) { wx.showToast ({ 标题:“修改账号成功”, 面具:真 }) setTimeout(()=比;{ wx.navigateBack ({ 三角洲:1 }) },2000) } })//成功后,返回上一页 },1000),//发送修改手机号的验证码 sendCode:实效。节流(函数(e) { 让账户=e.currentTarget.dataset.account;//判断手机号密码 如果(! ck.checkPhone(账户)){ 返回 } ck.countDown(这) var=https://www.yisu.com/zixun/{数据 电话:号码(账户) } 让结果=weChatUser.getVerificationCode(数据) result.then ((res)=> { 如果(res) { wx.showToast ({ 标题:“发送成功”, 图标:“没有”, 面具:真 }) } }) },1000),//监听输入(控制按钮样式变化) inputWacth:函数(e) { 让项目=e.currentTarget.dataset.model; this.setData ({ [项目]:e.detail.value }); 让len=this.data.password.length; 如果(this.data。账户,,this.data.account。长度===11){ this.setData ({ codeDisabled:假 }) 如果(len祝辞=6,,this.data.verification) { this.setData ({ 禁用:假 }) 其他}{ this.setData ({ 禁用:真 }) } } },/* * *生命周期函数——监听页面加载 */onLoad:功能(选项){ wx.setNavigationBarTitle ({ 标题:options.title, }) } })//check.js 函数checkPhone(电话){//判断手机号 如果电话(!){ wx.showToast ({ 标题:“请输入手机号”, 图标:“没有”, 持续时间:2000 }) 返回假 } 如果电话。长度& lt;11){ wx.showToast ({ 标题:“手机号有误,请重新输入的, 图标:“没有”, 持续时间:2000 }) 返回假 } 如果(! (/^ 1 [3456789]\ d {9} $/test(手机))){ wx.showToast ({ 标题:“手机号有误,请重新输入的, 图标:“没有”, 持续时间:2000 }) 返回假 } 还真 } 函数checkNull (val,味精){ 如果(val) { wx.showToast ({ 标题:“请填写${味精}!’, 图标:“没有” }) 返回假 } 还真 } 函数倒计时(自我){ 让currentTime=self.data.currentTime; self.setData ({ codeText: currentTime +“年代” }) 让间隔=setInterval(函数(){ self.setData ({ codeText:(currentTime - 1) +的” }) currentTime——; 如果(currentTime & lt;=0) { clearInterval(间隔) self.setData ({ codeText:“重新获取”, currentTime: 60 }) } }, 1000) } 模块。出口={ checkPhone, checkNull, 倒计时 }//util.js//防止多次重复点击(函数节流) gapTime函数节流阀(fn) { 如果(! gapTime) { gapTime=1000; } 让_lastTime=零;//返回新函数 返回函数(e) { 让_nowTime=+新日期(); 如果(_nowTime - _lastTime祝辞gapTime | | ! _lastTime) {//fn (e);//改变和e fn。应用(这个参数) _lastTime=_nowTime; } } } null null null null null null null微信小程序批量监听输入框对按钮样式进行控制的实现代码