微信小程序?qū)崿F(xiàn)form表單本地儲存數(shù)據(jù)
本文實例為大家分享了微信小程序?qū)崿F(xiàn)form表單本地儲存數(shù)據(jù)的具體代碼,供大家參考,具體內(nèi)容如下
效果圖:
主要利用小程序的getStorage來實現(xiàn)異步本地儲存。
小程序目錄結(jié)構(gòu)如下:
新建項目前,為了簡化操作可直接右鍵新建目錄,這樣建出來的文件會直接寫在app.json中,無需手動添加。
login.wxml代碼:
<!--pages/login/login.wxml--> <view class='container'> <form bindsubmit='submit'> <view class='row'> <text>姓名:</text> <input type='text' name='userName' placeholder='請輸入姓名' value='{{userName}}'/> </view> <view class='row'> <text>密碼:</text> <input type='password' name='passWord' placeholder='請輸入密碼' value='{{passWord}}'/> </view> <view> <button form-type='submit' type='primary'>登陸</button> </view> </form> </view>
login.wxss樣式:
/* pages/login/login.wxss */ .container{ padding: 1rem; font-size: 0.9rem; line-height: 1.5rem; border-shadow: 1px 1px #0099CC; } .row{ display: flex; align-items: center; margin-bottom: 0.8rem; } .row text{ flex-grow: 1; text-align: right; } .row input{ font-size: 0.7rem; color: #ccc; flex-grow: 3; border: 1px solid #0099CC; display: inline-block; border-radius: 0.3rem; box-shadow: 0 0 0.15rem #aaa; padding: 0.3rem; } .row button{ padding: 0 2rem; }
重點login.js來了:
// pages/login/login.js Page({ /** * 頁面的初始數(shù)據(jù) */ data: { userName:'', passWord:'' }, /** * 生命周期函數(shù)--監(jiān)聽頁面加載 */ onLoad: function (options) { }, /** * 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成 */ onReady: function () { }, /** * 生命周期函數(shù)--監(jiān)聽頁面顯示 */ onShow: function () { }, /** * 生命周期函數(shù)--監(jiān)聽頁面隱藏 */ onHide: function () { }, /** * 生命周期函數(shù)--監(jiān)聽頁面卸載 */ onUnload: function () { }, /** * 頁面相關(guān)事件處理函數(shù)--監(jiān)聽用戶下拉動作 */ onPullDownRefresh: function () { }, /** * 頁面上拉觸底事件的處理函數(shù) */ onReachBottom: function () { }, /** * 用戶點擊右上角分享 */ onShareAppMessage: function () { } })
點擊登陸時,觸發(fā)submit函數(shù),如下:
submit:function(e){ console.log(e.detail.value); //表單數(shù)據(jù) var objData = e.detail.value; if (objData.userName && objData.passWord){ //異步方式儲存表單數(shù)據(jù) wx.setStorage({ key: 'userName', data: objData.userName, }) wx.setStorage({ key: 'passWord', data: objData.passWord, }) wx.navigateTo({ url: '../detail/detail', }) } },
儲存好數(shù)據(jù)后,下次再打開該頁面,先判斷是否含有數(shù)據(jù),有就填充。
onLoad: function (options) { var that = this wx.getStorage({ key: 'userName', success: function(res) { that.setData({ userName: res.data }) }, }) wx.getStorage({ key: 'passWord', success: function (res) { console.log(res.data) that.setData({ passWord: res.data }) }, }) },
以上就是完整的表單登陸加儲存。
希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
js實現(xiàn)按鈕控制圖片360度翻轉(zhuǎn)特效的方法
這篇文章主要介紹了js實現(xiàn)按鈕控制圖片360度翻轉(zhuǎn)特效的方法,涉及HTML5中canvas方法的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-02-02js+html+css實現(xiàn)鼠標(biāo)移動div實例
移動div對于很多的網(wǎng)有們來說是一件很熟悉的事了,本文老生長談,用js實現(xiàn)鼠標(biāo)移動div,希望大伙們可以舉一反三,感興趣的朋友可以參考下,或許本文對你有所幫助2013-01-01使用bootstraptable插件實現(xiàn)表格記錄的查詢、分頁、排序操作
這篇文章主要介紹了 使用bootstraptable插件實現(xiàn)表格記錄的查詢、分頁、排序操作,需要的朋友可以參考下2017-08-08微信小程序?qū)崿F(xiàn)頁面導(dǎo)航與傳參功能詳解
這篇文章主要為大家詳細(xì)介紹一下微信小程序?qū)崿F(xiàn)頁面導(dǎo)航的幾種方法以及幫助大家掌握微信小程序如何進(jìn)行傳遞參數(shù),感興趣的朋友可以了解一下2022-08-08微信小程序map組件結(jié)合高德地圖API實現(xiàn)wx.chooseLocation功能示例
這篇文章主要介紹了微信小程序map組件結(jié)合高德地圖API實現(xiàn)wx.chooseLocation功能,結(jié)合實例形式分析了map組件調(diào)用高德地圖API接口獲取地理位置提示列表并返回location相關(guān)操作技巧,需要的朋友可以參考下2019-01-01JS通過識別id、value值對checkbox設(shè)置選中狀態(tài)
最開始需要獲取的是input value值設(shè)置checkbox選中狀態(tài),由于input value要使用計算業(yè)務(wù),后來改造為id,這里就為大家分享一下實現(xiàn)代碼,需要的朋友可以參考下2020-02-02