微信小程序6位或多位驗證碼密碼輸入框功能的實現(xiàn)代碼
在做小程序過程中做一個6位驗證碼輸入框,本以為很簡單,但是在寫的時候遇到各種各樣的阻力,在網(wǎng)上查閱資料也寥寥無幾,后來經(jīng)過一番思考,終于敲定下來本人最滿意的方案,特意發(fā)出來讓大家參考一下,希望能幫到大家!
一、效果圖如下:
二、代碼部分
wxml:
<form bindsubmit="formSubmit"> <view class='content'> <block wx:for="{{Length}}" wx:key="item"> <input class='iptbox' value="{{Value.length>=index+1?Value[index]:''}}" disabled password='{{ispassword}}' catchtap='Tap'></input> </block> </view> <input name="password" password="{{true}}" class='ipt' maxlength="{{Length}}" focus="{{isFocus}}" bindinput="Focus"></input> <view> <button class="btn-area" formType="submit">Submit</button> </view> </form>
js:
Page({ /** * 頁面的初始數(shù)據(jù) */ data: { Length:6, //輸入框個數(shù) isFocus:true, //聚焦 Value:"", //輸入的內容 ispassword:true, //是否密文顯示 true為密文, false為明文。 }, Focus(e){ var that = this; console.log(e.detail.value); var inputValue = e.detail.value; that.setData({ Value:inputValue, }) }, Tap(){ var that = this; that.setData({ isFocus:true, }) }, formSubmit(e){ console.log(e.detail.value.password); }, })
wxss:
content{ display: flex; justify-content: space-around; align-items: center; margin-top: 200rpx; } iptbox{ width: 80rpx; height: 80rpx; border:1rpx solid #ddd; border-radius: 20rpx; display: flex; justify-content: center; align-items: center; text-align: center; } ipt{ width: 0; height: 0; } btn-area{ width: 80%; background-color: orange; color:white; }
三、思路:
1、放置一個輸入框,隱藏其文字和位置,同時設置支付輸入框(表格)樣式
2、當點擊輸入框時設置輸入框為聚焦狀態(tài),喚起鍵盤,點擊空白處,失去焦點,設為失去焦點樣式,因為輸入框寬高為0,所以不會顯示輸入框和光標,實現(xiàn)隱藏。
3、限制輸入框最大字數(shù)并且監(jiān)聽輸入框狀態(tài),以輸入框值的長度作為輸入框(表格)內容的渲染條件
4、點擊提交按鈕時,獲取輸入框內容。
總結
以上所述是小編給大家介紹的微信小程序6位或多位驗證碼密碼輸入框功能的實現(xiàn)代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
Webpack中css-loader和less-loader的使用教程
這篇文章主要介紹了關于Webpack中css-loader和less-loader的使用教程,文中通過示例代碼介紹的非常詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-04-04