微信小程序实现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 相关文章推荐
仅用[]()+!等符号就足以实现几乎任意Javascript代码
Mar 01 Javascript
jquery 插件学习(四)
Aug 06 Javascript
javascript匿名函数应用示例介绍
Mar 07 Javascript
js 判断图片是否加载完以及实现图片的预下载
Aug 14 Javascript
js图片轮播特效代码分享
Sep 07 Javascript
学JavaScript七大注意事项【必看】
May 04 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
Oct 25 Javascript
js实现适合新闻类图片的轮播效果
Feb 05 Javascript
JS实现的tab切换并显示相应内容模块功能示例
Aug 03 Javascript
vue 获取视频时长的实例代码
Aug 20 Javascript
搭建Vue从Vue-cli到router路由护卫的实现
Nov 14 Javascript
JS实现简易贪吃蛇游戏
Aug 24 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数组函数序列之array_pop() - 删除数组中的最后一个元素
2011/11/07 PHP
PHP中数据类型转换的三种方式
2015/04/02 PHP
PHP中strpos、strstr和stripos、stristr函数分析
2016/06/11 PHP
PHP自动生成缩略图函数的源码示例
2019/03/18 PHP
ThinkPHP6.0如何利用自定义验证规则规范的实现登陆
2020/12/16 PHP
遍历jquery对象的代码分享
2011/11/02 Javascript
Javascript图像处理思路及实现代码
2012/12/25 Javascript
js读写(删除)Cookie实例详解
2013/04/17 Javascript
js实现浏览本地文件并显示扩展名的方法
2015/08/17 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
2016/09/13 Javascript
微信小程序 122100版本更新问题解决方案
2016/12/22 Javascript
基于javaScript的this指向总结
2017/07/22 Javascript
jQueryMobile之窗体长内容的缺陷与解决方法实例分析
2017/09/20 jQuery
vue 自定义指令自动获取文本框焦点的方法
2018/08/25 Javascript
vue操作动画的记录animate.css实例代码
2019/04/26 Javascript
JavaScript实现PC端四格密码输入框功能
2020/02/19 Javascript
[15:20]DOTA2-DPC中国联赛 正赛 Elephant vs Aster 选手采访
2021/03/11 DOTA
python用Pygal如何生成漂亮的SVG图像详解
2017/02/10 Python
澳大利亚领先的在线美容商城:Adore Beauty
2017/04/14 全球购物
汽车驾驶求职信
2013/10/25 职场文书
幼儿园大班毕业感言
2014/02/06 职场文书
元旦活动感言
2014/03/08 职场文书
个人担保书范文
2014/05/20 职场文书
幼儿园社区活动总结
2014/07/07 职场文书
机关干部个人对照检查材料思想汇报
2014/09/28 职场文书
党的群众路线学习笔记
2014/11/06 职场文书
教师考核表个人总结
2015/02/12 职场文书
个人总结怎么写
2015/02/26 职场文书
幼儿园大班个人总结
2015/02/28 职场文书
停电调休通知
2015/04/16 职场文书
2015年党建工作目标责任书
2015/05/08 职场文书
新手入门Jvm-- JVM对象创建与内存分配机制
2021/06/18 Java/Android
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python
基于Python实现对比Exce的工具
2022/04/07 Python
Python简易开发之制作计算器
2022/04/28 Python
JS高级程序设计之class继承重点详解
2022/07/07 Javascript