zoukankan      html  css  js  c++  java
  • 微信小程序 密码键盘

    1.WXML页面

    <view>
        <!--<section class="mask" catchtap="canclePwd" wx:if="{{inputPwd}}"></section>-->
        <section class="pwd-modal" catchtap="getFocus" >
            <!-- <p class="close">X</p> -->
            <!--<p class="title">输入查看密码</p>-->
            <ul>
                <li><i class="circle" wx:if="{{password.length >= 1}}"></i></li>
                <li><i class="circle" wx:if="{{password.length >= 2}}"></i></li>
                <li><i class="circle" wx:if="{{password.length >= 3}}"></i></li>
                <li><i class="circle" wx:if="{{password.length >= 4}}"></i></li>
                <li><i class="circle" wx:if="{{password.length >= 5}}"></i></li>
                <li><i class="circle" wx:if="{{password.length >= 6}}"></i></li>
            </ul>
            <input ref="inputs" focus="{{isFocus}}" type="number" maxlength="6"  bindinput="pwd" value="{{password}}"/>
        </section>
    
        <view class="submit" bindtap="submit">确定</view>
    </view>

    2.WXSS

    .mask {
        position: fixed;
        top: 0;
        left: 0;
        min-height: 100%;
         100%;
        background: rgba(0, 0, 0, 0.5);
        z-index: 10;
    }
    
    .pwd-modal {
        /*position: fixed;*/
        /*top: 258rpx;*/
        /*left: 54rpx;*/
        /*right: 54rpx;*/
        /*height: 504rpx;*/
        padding-top: 50rpx;
        background: white;
        z-index: 99;
        border-radius: 8rpx;
        text-align: center;
    }
    
    ul {
        display: flex;
        margin: 94rpx 38rpx 104rpx;
    }
    .submit{
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height:98rpx;
        background:rgba(253,49,49,1);
        box-shadow:0px -4px 6px 0px rgba(0,0,0,0.02);
        color: #FFFFFF;
        text-align: center;
        line-height: 98rpx;
        color: #FFFFFF;
        font-size: 34rpx;
    }
    ul li {
         100%;
        height: 96rpx;
        line-height: 94rpx;
        border: 1rpx solid #ececeb;
        border-right: 0 none;
        box-sizing: border-box;
        text-align: center;
        font-size: 0;
    }
    
    ul li:last-of-type {
        border-right: 1rpx solid #ececeb;
    }
    
    ul li .circle {
        display: inline-block;
        vertical-align: middle;
         50rpx;
        height: 50rpx;
        border-radius: 50%;
        background: black;
    }
    
    input {
        text-indent: -9999rpx;
        margin-left: -9999rpx;
        opacity: 0;
    }

    3.JS

    //index.js
    //获取应用实例
    const app = getApp()
    
    Page({
        data: {
            password: '',
            isFocus: false,
            inputPwd: true,
            inputNum: 0,
            passwordFirst: '',
            passwordTwo: '',
        },
        pwd(e) {
            console.log(666)
            console.log(e.detail.value)
            console.log(666)
            let reg = /[^d]/g
            let mobile = e.detail.value.replace(reg, '')
            this.setData({
                password: mobile
            })
            return mobile
        },
        getFocus() {
            this.setData({
                isFocus: true
            })
        },
        onLoad: function () {
            console.log(this.data.password.length)
        },
        submit(){
            let that = this
            if (that.data.password.length == 6) {
                if (that.data.inputNum == 0) {
                    that.data.passwordFirst = that.data.password
                    that.data.inputNum = 1
                    wx.setNavigationBarTitle({
                        title: '再次输入密码',
                    })
                    that.setData({
                        password: '',
                        isFocus: false,
                        inputPwd: true,
                    })
                } else if (that.data.inputNum == 1){
                    that.data.passwordTwo = that.data.password
                    if (that.data.passwordFirst == that.data.passwordTwo) {
                        // 传that.data.passwordTwo为支付密码
                        wx.showToast({
                            title: '设置成功',
                            icon: 'success',
                            success: function (res) {
                                wx.navigateBack({
                                    delta: 1
                                })
                            }
                        })
    
                    } else {
                        wx.showToast({
                            title: '两次输入密码不同,请重新输入',
                            icon: 'none',
                        })
                        wx.setNavigationBarTitle({
                            title: '设置支付密码',
                        })
                        that.setData({
                            password: '',
                            isFocus: false,
                            inputPwd: true,
                            inputNum: 0,
                            passwordFirst: '',
                            passwordTwo: ''
                        })
                        return false
                    }
                }
            }
        },
    
    })
  • 相关阅读:
    VMware下桥接设置
    oracle 当行函数
    oracle基于scott用户的经典sql 面试题(一)
    java 公平打乱数组顺序 重新排列
    学习.NET3中
    坚持
    分组小计合计报表的SQL
    使用ObjectDataSource注意DeleteMethod、UpdateMethod、Insert等方法中参数的命名约定
    SQL语句like子句中的转义符
    Oracle数据迁移:从存储了中文的但字符集为WE8ISO8859P1数据库导入数据到字符集为ZHS16GBK的数据库
  • 原文地址:https://www.cnblogs.com/gqx-html/p/9963485.html
Copyright © 2011-2022 走看看