微信小程序input输入及动态设置按钮方法
本文主要介绍了微信小程序 input输入及动态设置按钮的实现的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下,希望能帮助到大家。
微信小程序 input输入及动态设置按钮的实现
【需求】实现当手机号已填写和协议已勾选时,“立即登录”按钮变亮,按钮可点击;若有一个不满足,按钮置灰,不可点击;实现获取短信验证码,倒计时提示操作;对不满足要求内容进行toast弹窗提示。
<view class="container"> <!--手机号--> <view class="section"> <text class="txt">手机号</text> <input value="{{mobile}}" placeholder-class="placeholder" placeholder="11位手机号码" type="number" maxlength="11" bindinput="mobileInput"/> </view> <!--图片验证码--> <view class="section"> <view> <text class="txt">图形验证码</text> <input placeholder-class="placeholder" placeholder="输入图形验证码" type="text" maxlength="4" bindinput="imgCaptchaInput"/> </view> <image class="imgBtn" src="{{imgCodeSrc}}" bindtap="getImgCode"></image> </view> <!--短信验证码--> <view class="section"> <view> <text class="txt">验证码</text> <input placeholder-class="placeholder" placeholder="输入验证码" type="number" maxlength="6" bindinput="smsCaptchaInput"/> </view> <view class="smsBtn" bindtap="getSMS">{{captchaText}}</view> </view> <view class="agree" style="margin-top:40rpx"> <checkbox-group bindchange="checkboxChange"> <checkbox class="check" value="1" checked="true" bindchange="checkboxChange"></checkbox> </checkbox-group> <span>已阅读并同意</span> <text style="color:#98c7ff" bindtap="xieyi">《用户使用协议》</text> </view> <view class="regist {{phoneAll&&checkAgree?'active':''}}" bindtap="regist">立即登录</view> </view> <!--mask--> <view class="toast_mask" wx:if="{{isShowToast}}"></view> <!--以下为toast显示的内容--> <view class="toast_content_box" wx:if="{{isShowToast}}"> <view class="toast_content"> <view class="toast_content_text"> {{toastText}} </view> </view> </view>
js
// 获取全局应用程序实例对象 const app = getApp() Page({ data: { //toast默认不显示 isShowToast: false, mobile: '', imgCode: '', code: '', // inviteCode: '', errorContent: '请输入手机号', timer: 60, captchaText: '获取验证码', captchaSended: false, isReadOnly: false, capKey: '', sendRegist: false, imgCodeSrc: '', phoneAll: false, checkAgree:true, checkboxValue:[1], }, // 显示弹窗 showToast(txt, duration = 1500) { //设置toast时间,toast内容 this.setData({ count: duration, toastText: txt }); var _this = this; // toast时间 _this.data.count = parseInt(_this.data.count) ? parseInt(_this.data.count) : 3000; // 显示toast _this.setData({ isShowToast: true, }); // 定时器关闭 setTimeout(function () { _this.setData({ isShowToast: false }); }, _this.data.count); }, // 双向绑定mobile mobileInput(e) { this.setData({ mobile: e.detail.value }); if(this.data.mobile.length===11){ this.setData({ phoneAll: true }); }else if(this.data.mobile.length<11){ this.setData({ phoneAll: false }); } }, // 双向绑定img验证码 imgCaptchaInput(e) { this.setData({ imgCode: e.detail.value }); }, // 双向绑定sms验证码 smsCaptchaInput(e) { this.setData({ code: e.detail.value }); }, // 同意协议 checkboxChange(e) { this.data.checkboxValue = e.detail.value; if(this.data.checkboxValue[0]==1){ this.setData({ checkAgree: true }); }else { this.setData({ checkAgree: false }); } }, // 获取短信验证码 getSMS() { var that = this.data; if (!that.mobile) { this.showToast('请输入手机号'); } else if (that.mobile.length != 11 || isNaN(that.mobile)) { this.showToast('请输入正确手机号'); } else if (that.imgCode.length != 4) { this.showToast('请输入正确图片验证码'); } else { if (that.captchaSended) return; this.setData({ captchaSended: true }) app.api.getSMSByMobileAndCaptcha({ mobile: that.mobile, capKey: that.capKey, code: that.imgCode, type:1 }).then((result) => { this.showToast(result.message); if (result.code != 1) { this.getImgCode(); this.setData({ captchaSended: false, }); } else { var counter = setInterval(() => { that.timer--; this.setData({ timer: that.timer, captchaText: `${that.timer}秒`, isReadOnly: true }); if (that.timer === 0) { clearInterval(counter); that.captchaSended = false; that.captchaText = '获取验证码'; this.setData({ timer: 60, captchaText: '获取验证码', captchaSended: false }) } }, 1000); } }); } }, // 获取图形码 getImgCode() { var capKey = "zdx-weixin" + Math.random(); this.setData({ imgCodeSrc: "http://prezdx.geinihua.com/invite/WeChat/verify?capKey=" + capKey, capKey: capKey }); }, //用户使用协议 xieyi() { wx.navigateTo({ url: '../userXieyi/userXieyi' }) }, // 注册 regist() { var that = this.data; if(!that.checkAgree||!that.phoneAll){ return } // sessionCheck为1,目的是防止微信code码先于session过期 var code = wx.getStorageSync('wxCode'); var sessionCheck = wx.getStorageSync('sessionCheck'); wx.setStorageSync('mobile',that.mobile); if (!that.mobile) { this.showToast('请输入手机号'); } else if (that.mobile.length != 11 || isNaN(that.mobile)) { this.showToast('请输入正确手机号'); } else if (that.code.length != 6) { this.showToast('请输入正确验证码'); } else { wx.showLoading({ title: '加载中...', }); app.api.loginByCaptcha({ mobile: that.mobile, smsCode: that.code, code: code, sessionCheck:sessionCheck, }).then((res) => { wx.hideLoading(); if (res.code == 2||res.code==1) { //注册成功 wx.setStorageSync('token', res.businessObj.token); wx.setStorageSync('userId',res.businessObj.userId); this.sucessCb(res); app.globalData.isLogin = true; //设置为登录成功 } else { this.showToast(res.message); } }); } }, // 成功回调 sucessCb(res) { wx.redirectTo({ url: '/pages/index/index' }) }, onLoad: function () { this.getImgCode(); var that=this; if(wx.getStorageSync('mobile')){ that.setData({ mobile: wx.getStorageSync('mobile'), }) } if(this.data.mobile.length===11){ this.setData({ phoneAll: true }); } }, })
相关推荐:
实例分析input 、submit、button和回车键提交数据区别
以上是微信小程序input输入及动态设置按钮方法的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

在抖音上发布作品能够更吸引关注和点赞,但有时候我们可能难以实时发布作品,这时就可以利用抖音的定时发布功能。抖音的定时发布功能允许用户在预定的时间自动发布作品,这样可以更好地规划发布计划,增加作品的曝光率和影响力。一、抖音如何设置定时发布作品时间?要设置定时发布作品时间,首先进入抖音个人主页,在右上角找到“+”按钮,点击进入发布页面。在发布页面右下角有一个钟表的图标,点击进入定时发布界面。在界面中,你可以选择要发布的作品类型,包括短视频、长视频和直播等。接下来,你需要设置作品的发布时间。抖音提供了

VSCode设置中文:完全指南在软件开发中,VisualStudioCode(简称VSCode)是一个常用的集成开发环境。对于使用中文的开发者来说,将VSCode设置为中文界面可以提升工作效率。本文将为大家提供一个完整的指南,详细介绍如何将VSCode设置为中文界面,并提供具体的代码示例。第一步:下载安装语言包在打开VSCode后,点击左

抖音作为全球最受欢迎的短视频平台之一,让每个人都能成为创作者,分享生活中的点点滴滴。对于抖音用户来说,标签是一个非常重要的功能,它可以帮助用户更好地分类和检索内容,同时也能让平台更精准地推送合适的内容给用户。那么,抖音标签在哪里设置出来呢?本文将详细介绍如何在抖音上设置和使用标签。一、抖音标签在哪里设置出来?在抖音上使用标签可以帮助用户更好地分类和标记自己的作品,让其他用户更容易找到并关注。设置标签的方法如下:1.打开抖音APP,并登录你的账号。2.点击屏幕下方的“+”号,选择“发表”按钮。3.

1、打开微博客户端,在编辑页面中点击三个小点,再点击定时发。2、点击定时发之后,在发布时间右侧就有时间选项,设置好时间,编辑好文章,点击右下角的黄色字定时发布即可。3、微博手机端暂时不支持定时发布,只能在PC客户端使用该功能哦!

即使在“请勿打扰”模式下接听电话也可能是一种非常烦人的体验。顾名思义,请勿打扰模式可关闭来自邮件、消息等的所有来电通知和警报。您可以按照这些解决方案集进行修复。修复1–启用对焦模式在手机上启用对焦模式。步骤1–从顶部向下滑动以访问控制中心。步骤2–接下来,在手机上启用“对焦模式”。专注模式可在手机上启用“请勿打扰”模式。它不会让您的手机上出现任何来电提醒。修复2–更改对焦模式设置如果对焦模式设置中存在一些问题,则应进行修复。步骤1–打开您的iPhone设置窗口。步骤2–接下来,打开“对焦”模式设

抖音推荐和精选在哪里设置?在抖音短视频中是有精选和推荐两个分类,多数的用户不知道推荐和精选如何的设置,接下来就是小编为用户带来的抖音推荐和精选设置方法教程,感兴趣的用户快来一起看看吧!抖音使用教程抖音推荐和精选在哪里设置1、首先打开抖音短视频APP进入到主页面,点击右下角【我】专区选择右上角【三个横线】;2、之后在右侧会展开功能栏,滑动页面选择最底部的【设置】;3、然后在设置功能页面,找到其中的【个人信息管理】服务;4、最后跳转到个人信息管理页面,滑动【个性化内容推荐】后方的按钮即可设置。

大麦网购票时,为了确保能够准确掌握购票时间,用户可以设置一个悬浮时钟来进行抢票,详细的设置方法就在下文中,让我们一起学习下吧。大麦绑定悬浮时钟方法1.在手机中点击打开悬浮时钟app进入界面后,在设置秒杀提查的位置点击,如下图所示位置:2.来到新增记录的页面后,把在大麦网中复制的买票链接页面复制进去。3.接下来在下方设置好秒杀时间和通知时间,打开【保存到日历】后面的开关按钮,并在下方点击【保存】。4.点击开启【倒计时】,如下图所示:5.到提醒时间时在下方点击【开始画中画】的按钮。6.当购票时间到时

1、首先进入微博,然后点击右下角我,选择【客服】。2、然后在搜索框中输入【水印】选择【设置微博图片水印】。3、再去点击界面中的【链接】。4、接着在新打开的窗口中点击【图片水印设置】。5、最后勾选【图片中心】点击【保存】即可。
