微信小程序实现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 相关文章推荐
Jquery Validation插件防止重复提交表单的解决方法
Mar 05 Javascript
javascript break指定标签打破多层循环示例
Jan 20 Javascript
实例说明为什么不要行内使用javascript
Apr 18 Javascript
判断字符串的长度(优化版)中文占两个字符
Oct 30 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
Jul 18 Javascript
jQuery实现带动画效果的多级下拉菜单代码
Sep 08 Javascript
vue-cli webpack 引入jquery的方法
Jan 10 jQuery
jquery实现Ajax请求的几种常见方式总结
May 28 jQuery
js实现简单进度条效果
Mar 25 Javascript
vue点击标签切换选中及互相排斥操作
Jul 17 Javascript
Element PageHeader页头的使用方法
Jul 26 Javascript
如何用JavaScript检测当前浏览器是无头浏览器
Apr 27 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
中国收音机工业发展史
2021/03/02 无线电
php使用imagick模块实现图片缩放、裁剪、压缩示例
2014/04/17 PHP
php实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
php 解决扫描二维码下载跳转问题
2017/01/13 PHP
对laravel in 查询的使用方法详解
2019/10/09 PHP
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
关于juqery radio写法的兼容性问题(新老版本jquery)
2010/06/14 Javascript
AngularJS 整理一些优化的小技巧
2016/08/18 Javascript
浅谈AngularJS中ng-class的使用方法
2016/11/11 Javascript
浅析为什么a=&quot;abc&quot; 不等于 a=new String(&quot;abc&quot;)
2017/10/25 Javascript
一个因@click.stop引发的bug的解决
2019/01/08 Javascript
使用react context 实现vue插槽slot功能
2019/07/18 Javascript
python插入排序算法的实现代码
2013/11/21 Python
python静态方法实例
2015/01/14 Python
Python多继承顺序实例分析
2018/05/26 Python
selenium+python截图不成功的解决方法
2019/01/30 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
Python学习笔记之函数的参数和返回值的使用
2019/11/20 Python
Python字符串查找基本操作代码案例
2020/10/27 Python
五分钟学会怎么用python做一个简单的贪吃蛇
2021/01/12 Python
利用HTML5画出一个坦克的形状具体实现代码
2013/06/20 HTML / CSS
巴西24小时在线药房:Droga Raia
2020/05/12 全球购物
俄罗斯卫浴采暖及维修用品超级市场:Dkrussia
2020/05/12 全球购物
销售职业生涯规划范文
2014/03/14 职场文书
投资合作协议书
2014/04/17 职场文书
感恩教育月活动总结
2014/07/07 职场文书
群众路线教育实践活动批评与自我批评
2014/09/15 职场文书
法人授权委托书
2014/09/16 职场文书
金陵十三钗观后感
2015/06/04 职场文书
教师节祝酒词
2015/08/11 职场文书
小学体育教学随笔
2015/08/14 职场文书
银行培训心得体会范文
2016/01/09 职场文书
优质护理心得体会
2016/01/22 职场文书
世界上超棒的8种逻辑思维
2019/08/06 职场文书
thinkphp 获取控制器及控制器方法
2021/04/16 PHP