微信小程序实现form表单本地储存数据


Posted in Javascript onJune 27, 2019

本文实例为大家分享了微信小程序实现form表单本地储存数据的具体代码,供大家参考,具体内容如下

效果图:

微信小程序实现form表单本地储存数据

主要利用小程序的getStorage来实现异步本地储存。

小程序目录结构如下:

微信小程序实现form表单本地储存数据

新建项目前,为了简化操作可直接右键新建目录,这样建出来的文件会直接写在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({
 
 /**
 * 页面的初始数据
 */
 data: {
 userName:'',
 passWord:''
 },
 /**
 * 生命周期函数--监听页面加载
 */
 onLoad: function (options) {
 
 },
 
 /**
 * 生命周期函数--监听页面初次渲染完成
 */
 onReady: function () {
 
 },
 
 /**
 * 生命周期函数--监听页面显示
 */
 onShow: function () {
 
 },
 
 /**
 * 生命周期函数--监听页面隐藏
 */
 onHide: function () {
 
 },
 
 /**
 * 生命周期函数--监听页面卸载
 */
 onUnload: function () {
 
 },
 
 /**
 * 页面相关事件处理函数--监听用户下拉动作
 */
 onPullDownRefresh: function () {
 
 },
 
 /**
 * 页面上拉触底事件的处理函数
 */
 onReachBottom: function () {
 
 },
 
 /**
 * 用户点击右上角分享
 */
 onShareAppMessage: function () {
 
 }
})

点击登陆时,触发submit函数,如下:

submit:function(e){
 console.log(e.detail.value);
 //表单数据
 var objData = e.detail.value;
 if (objData.userName && objData.passWord){
  //异步方式储存表单数据
  wx.setStorage({
  key: 'userName',
  data: objData.userName,
  })
  wx.setStorage({
  key: 'passWord',
  data: objData.passWord,
  })
  wx.navigateTo({
  url: '../detail/detail',
  })
 }
 
 },

储存好数据后,下次再打开该页面,先判断是否含有数据,有就填充。

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 })
  },
 })
 },

以上就是完整的表单登陆加储存。

希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
[原创]图片分页查看
Aug 28 Javascript
event.srcElement+表格应用
Aug 29 Javascript
javascript Window及document对象详细整理
Jan 12 Javascript
引用外部脚本时script标签关闭的写法
Jan 20 Javascript
JavaScript 计算笛卡尔积实例详解
Dec 02 Javascript
基于JQuery的Ajax方法使用详解
Aug 16 jQuery
Vuejs 2.0 子组件访问/调用父组件的方法(示例代码)
Feb 08 Javascript
微信小程序中this.data与this.setData的区别详解
Sep 17 Javascript
JS中的防抖与节流及作用详解
Apr 01 Javascript
Vue传参一箩筐(页面、组件)
Apr 04 Javascript
详解vue中router-link标签所必备了解的属性
Apr 15 Javascript
详解基于mpvue微信小程序下载远程图片到本地解决思路
May 16 Javascript
ES6 class的应用实例分析
Jun 27 #Javascript
ES6 Promise对象的应用实例分析
Jun 27 #Javascript
使用Vue 实现滑动验证码功能
Jun 27 #Javascript
js变量值传到php过程详解 将php解析成数据
Jun 26 #Javascript
javascript触发模拟鼠标点击事件
Jun 26 #Javascript
JavaScript动态添加数据到表单并提交的几种方式
Jun 26 #Javascript
react koa rematch 如何打造一套服务端渲染架子
Jun 26 #Javascript
You might like
对PHP依赖注入的理解实例分析
2016/10/09 PHP
JavaScript入门教程(9) Document文档对象
2009/01/31 Javascript
jQuery购物网页经典制作案例
2016/08/19 Javascript
JS快速实现移动端拼图游戏
2016/09/05 Javascript
微信小程序组件 marquee实例详解
2017/06/23 Javascript
详解vue-cli 本地开发mock数据使用方法
2018/05/29 Javascript
element-ui table span-method(行合并)的实现代码
2018/12/20 Javascript
jQuery实现的卷帘门滑入滑出效果【案例】
2019/02/18 jQuery
浅谈Javascript中的对象和继承
2019/04/19 Javascript
Webpack按需加载打包chunk命名的方法
2019/09/22 Javascript
JS实现随机抽取三人
2019/11/06 Javascript
js实现秒表计时器
2019/12/16 Javascript
微信小程序如何获取地址
2019/12/24 Javascript
Vue中的this.$options.data()和this.$data用法说明
2020/07/26 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
2020/10/21 Javascript
如何构建一个Vue插件并生成npm包
2020/10/26 Javascript
Python使用matplotlib模块绘制图像并设置标题与坐标轴等信息示例
2018/05/04 Python
Pycharm代码无法复制,无法选中删除,无法编辑的解决方法
2018/10/22 Python
Django项目中使用JWT的实现代码
2019/11/04 Python
基于python3生成标签云代码解析
2020/02/18 Python
Python图像处理库PIL的ImageFont模块使用介绍
2020/02/26 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
Django实现随机图形验证码的示例
2020/10/15 Python
高级运动鞋:GREATS
2019/07/19 全球购物
存储过程和函数的区别
2013/05/28 面试题
经贸韩语专业大学生职业规划
2014/02/14 职场文书
区政府领导班子个人对照检查材料
2014/09/25 职场文书
2014年党支部书记工作总结
2014/12/04 职场文书
2015年度保密工作总结
2015/04/24 职场文书
2015国庆66周年宣传语
2015/07/14 职场文书
如何计划开一家便利店?
2019/07/31 职场文书
导游词之太行山青龙峡
2020/01/14 职场文书
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python
pandas提升计算效率的一些方法汇总
2021/05/30 Python
zabbix自定义监控nginx状态实现过程
2021/11/01 Servers
详解nginx location指令
2022/01/18 Servers