微信小程序 input輸入框控件詳解及實(shí)例(多種示例)
微信小程序 input輸入框控件
今天主要詳寫(xiě)一下微信小程序中的Input輸入框控件,輸入框在程序中是最常見(jiàn)的,登錄,注冊(cè),獲取搜索框中的內(nèi)容等等都需要,同時(shí),還需要設(shè)置不同樣式的輸入框,今天的代碼中都要相應(yīng)的使用。
首先主頁(yè)面中將登錄的樣式進(jìn)行了簡(jiǎn)單展示和使用,
代碼如下:
<!--index.wxml-->
<!--如果在同一個(gè)form表單中創(chuàng)建了多個(gè)input輸入框,可以給給每個(gè)輸入框,創(chuàng)建自己的 name=“userName”屬性,可以區(qū)別哪個(gè)輸入框,并通過(guò)添加 屬性提交:bindsubmit="方法名" 重置:bindreset="方法名",達(dá)到清除輸入框內(nèi)容的目的 js文件中的用法,e.detail.value.userName.length--> <view class="itemView">用戶(hù)名: <input class="input" name="userName" placeholder="請(qǐng)輸入用戶(hù)名" bindinput="userNameInput"/> </view> <view class="itemView">密 碼: <input class="input" password placeholder="請(qǐng)輸入密碼" bindinput="passWdInput" /> </view> <view class="viewName" style="background-color:#fbf9fe"> <button class="loginBtn" bindtap="loginBtnClick">登錄</button> <button class="resetBtn" bindtap="resetBtnClick">清除</button> </view> <view>{{infoMess}}</view> <view>{{userName}}</view> <view>{{passWd}}</view> <view class="viewName" style="margin-top: 60px;"> <navigator url="Component/TextInput/TextInput"> <text class="view-Name">各類(lèi)型輸入框展示</text> </navigator> </view>
//index.js
//獲取應(yīng)用實(shí)例 var app = getApp() Page({ data: { infoMess: '', userName: '', userN:'', passWd: '', passW:'' }, //用戶(hù)名和密碼輸入框事件 userNameInput:function(e){ this.setData({ userN:e.detail.value }) }, passWdInput:function(e){ this.setData({ passW:e.detail.value }) }, //登錄按鈕點(diǎn)擊事件,調(diào)用參數(shù)要用:this.data.參數(shù); //設(shè)置參數(shù)值,要使用this.setData({})方法 loginBtnClick:function(){ if(this.data.userN.length == 0 || this.data.passW.length == 0){ this.setData({ infoMess:'溫馨提示:用戶(hù)名和密碼不能為空!', }) }else{ this.setData({ infoMess:'', userName:'用戶(hù)名:'+this.data.userN, passWd:'密碼:'+this.data.passW }) } }, //重置按鈕點(diǎn)擊事件 resetBtnClick:function(e){ this.setData({ infoMess: '', userName: '', userN:'', passWd: '', passW:'', }) }, onLoad: function () { console.log('onLoad') var that = this //調(diào)用應(yīng)用實(shí)例的方法獲取全局?jǐn)?shù)據(jù) app.getUserInfo(function(userInfo){ //更新數(shù)據(jù) that.setData({ userInfo:userInfo }) }) } })
然后在第二個(gè)界面中顯示了不同的樣式和功能的input
<!--pages/index/Component/TextInput/TextInput.wxml--> <view class="viewTitle"> <text class="view-Name">TextInput輸入框展示</text> <view class="lineView"></view> </view> <view class="section"> <input class="input" placeholder-style="font-size:15px" placeholder="自動(dòng)聚焦彈出鍵盤(pán),一個(gè)頁(yè)面中只能有一個(gè)" auto-focus/> </view> <view class="section"> <input class="input" placeholder="此處只有在點(diǎn)擊下方按鈕時(shí)才聚焦" focus="{{focus}}" /> </view> <view class="section1"> <button bindtap="bindButtonTap">使得輸入框獲取焦點(diǎn)</button> </view> <view class="section"> <input class="input" maxlength="10" placeholder="最大輸入長(zhǎng)度10" /> </view> <view class="section__title">你輸入的是:{{inputValue}}</view> <view class="section"> <input class="input" bindinput="bindKeyInput" placeholder="輸入同步到view中"/> </view> <view class="section"> <input class="input" bindinput="bindReplaceInput" placeholder="連續(xù)的兩個(gè)1會(huì)變成2" /> </view> <view class="section"> <input class="input" bindinput="bindHideKeyboard" placeholder="輸入123自動(dòng)收起鍵盤(pán)" /> </view> <view class="section"> <input class="input" type="number" placeholder="這是一個(gè)數(shù)字輸入框" /> </view> <view class="section"> <input class="input" password type="text" placeholder="這是一個(gè)密碼輸入框" /> </view> <view class="section"> <input class="input" type="digit" placeholder="帶小數(shù)點(diǎn)的數(shù)字鍵盤(pán)"/> </view> <view class="section"> <input class="input" type="idcard" placeholder="身份證輸入鍵盤(pán)" /> </view> <view class="section"> <input class="input" placeholder-style="color:red" placeholder="占位符字體是紅色的" /> </view>
// pages/index/Component/TextInput/TextInput.js Page({ data: { focus: false, inputValue: '' }, bindButtonTap: function() { this.setData({ focus: true }) }, bindKeyInput: function(e) { this.setData({ inputValue: e.detail.value }) }, bindReplaceInput: function(e) { var value = e.detail.value var pos = e.detail.cursor if(pos != -1){ // 光標(biāo)在中間 var left = e.detail.value.slice(0,pos) // 計(jì)算光標(biāo)的位置 pos = left.replace(/11/g,'2').length } // 直接返回對(duì)象,可以對(duì)輸入進(jìn)行過(guò)濾處理,同時(shí)可以控制光標(biāo)的位置 return { value: value.replace(/11/g,'2'), cursor: pos } // 或者直接返回字符串,光標(biāo)在最后邊 // return value.replace(/11/g,'2'), }, bindHideKeyboard: function(e) { if (e.detail.value === "123") { //收起鍵盤(pán) wx.hideKeyboard() } }, onLoad:function(options){ // 頁(yè)面初始化 options為頁(yè)面跳轉(zhuǎn)所帶來(lái)的參數(shù) }, onReady:function(){ // 頁(yè)面渲染完成 }, onShow:function(){ // 頁(yè)面顯示 }, onHide:function(){ // 頁(yè)面隱藏 }, onUnload:function(){ // 頁(yè)面關(guān)閉 } })
效果圖:
源碼下載地址:DEMO
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
JavaScript的八種數(shù)據(jù)類(lèi)型
這篇文章主要分享的是JavaScript的八種數(shù)據(jù)類(lèi)型,ES5的時(shí)候,我們大家認(rèn)知的數(shù)據(jù)類(lèi)型是?6種的,但是ES6?中新增了一種?Symbol,谷歌67版本中還出現(xiàn)了一種?bigInt,是指安全存儲(chǔ)、操作大整數(shù),像下面文章我可沒(méi)就來(lái)看看這八種數(shù)據(jù)類(lèi)型的詳細(xì)介紹吧2022-01-01詳解Anyscript開(kāi)發(fā)指南繞過(guò)typescript類(lèi)型檢查
這篇文章主要為大家介紹了詳解Anyscript開(kāi)發(fā)指南繞過(guò)typescript類(lèi)型檢查,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09Electron學(xué)習(xí)應(yīng)用程序打包實(shí)例詳解
這篇文章主要介紹了Electron學(xué)習(xí)應(yīng)用程序打包實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09微信小程序 頁(yè)面跳轉(zhuǎn)和數(shù)據(jù)傳遞實(shí)例詳解
這篇文章主要介紹了微信小程序 頁(yè)面跳轉(zhuǎn)和數(shù)據(jù)傳遞實(shí)例詳解的相關(guān)資料,這里附有實(shí)例代碼幫助到家學(xué)習(xí)理解,需要的朋友可以參考下2017-01-01autojs寫(xiě)一個(gè)畫(huà)板實(shí)現(xiàn)AI換頭狗頭蛇
這篇文章主要為大家介紹了autojs寫(xiě)一個(gè)畫(huà)板實(shí)現(xiàn)AI換頭狗頭蛇過(guò)程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01微信小程序本作用域下調(diào)用全局JS詳解及實(shí)例
這篇文章主要介紹了微信小程序本作用域下調(diào)用全局JS詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-02-02