国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 熱點 > 微信 > 正文

微信小程序 input輸入及動態設置按鈕的實現

2024-07-22 01:17:18
字體:
來源:轉載
供稿:網友

微信小程序 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      });    }  },})            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 富源县| 鹤壁市| 甘南县| 无极县| 高邑县| 阜新| 莫力| 襄垣县| 乌什县| 隆回县| 潼关县| 黄浦区| 清水河县| 凤山市| 怀远县| 辽源市| 安平县| 沙雅县| 阿巴嘎旗| 武安市| 长寿区| 磐石市| 金昌市| 石家庄市| 漯河市| 绥德县| 闻喜县| 鄱阳县| 兴仁县| 霸州市| 宜兴市| 绥棱县| 双鸭山市| 木兰县| 探索| 柳河县| 大足县| 张北县| 龙南县| 蒙自县| 白城市|