微信小程序实现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 相关文章推荐
js字符串完全替换函数分享
Dec 03 Javascript
jQuery实现切换字体大小的方法
Mar 10 Javascript
如何根据百度地图计算出两地之间的驾驶距离(两种语言js和C#)
Oct 29 Javascript
第一次接触神奇的Bootstrap表单
Jul 27 Javascript
轻松掌握JavaScript享元模式
Aug 27 Javascript
js模态对话框使用方法详解
Feb 16 Javascript
JavaScript两个变量交换值的实现方法
Mar 01 Javascript
VsCode新建VueJs项目的详细步骤
Sep 23 Javascript
Vuex中mutations与actions的区别详解
Mar 01 Javascript
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
Aug 16 Javascript
JS封装cavans多种滤镜组件
Feb 15 Javascript
vue实现拖拽交换位置
Apr 07 Vue.js
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各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
深入php self与$this的详解
2013/06/08 PHP
php断点续传之文件分割合并详解
2016/12/13 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
PHP设计模式之工厂方法设计模式实例分析
2018/04/25 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
用javascript父窗口控制只弹出一个子窗口
2007/04/10 Javascript
JAVASCRIPT函数作用域和提前声明 分享
2013/08/22 Javascript
js切换光标示例代码
2013/10/10 Javascript
json实现前后台的相互传值详解
2015/01/05 Javascript
JS+CSS简单树形菜单实现方法
2015/09/12 Javascript
jQuery插件实现无缝滚动特效
2015/11/24 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
2017/11/15 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
2018/07/19 Javascript
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
基于layPage插件实现两种分页方式浅析
2019/07/27 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
详解vue实现坐标拾取器功能示例
2020/11/18 Vue.js
python简单实现操作Mysql数据库
2018/01/29 Python
python如何实现代码检查
2019/06/28 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
2019/07/07 Python
简单瞅瞅Python vars()内置函数的实现
2019/09/27 Python
Python Process多进程实现过程
2019/10/22 Python
详解pycharm2020.1.1专业版安装指南(推荐)
2020/08/07 Python
单身旅行者的单身假期:Just You
2018/04/08 全球购物
金士达面试非笔试
2012/03/14 面试题
建筑学推荐信
2013/11/03 职场文书
办公文员的工作岗位职责
2013/11/12 职场文书
咨询公司各岗位职责
2013/12/02 职场文书
工伤事故赔偿协议书(标准)
2014/09/29 职场文书
期中考试复习计划
2015/01/19 职场文书
教师节班会开场白
2015/06/01 职场文书
用React Native制作一个简单的游戏引擎
2021/05/27 Javascript
Go gorilla/sessions库安装使用
2022/08/14 Golang
Mysql的Table doesn't exist问题及解决
2022/12/24 MySQL