微信小程序 表单Form实例详解(附源码)


Posted in Javascript onDecember 22, 2016

微信小程序 表单Form实例

表单Form的应用很广泛,我们可以利用form设计登录注册,也可以设计一种答题问卷的形式,今天主要讲一下form的使用

form表单,将组件内输入的"switch","input","checkbox","slider","radio","picker"的值进行提交,数据的格式为:name:value,所以表单中控件都需要添加name属性,否则找不到对应控件的值。其主要属性:

微信小程序 表单Form实例详解(附源码)

主要代码,创建一个form表单:

<!--pages/index/Component/FormM/FormM.wxml-->
<view class="viewTitle">
  <text class="view-Name">form表单</text>
  <view class="lineView"></view>
</view>
<!--这里用form,name=“nameName1”可以作为form的属性进行 
(e.detail.value.nameName1)调用,
form自带有提交和重置按钮,会自动获取表单中所有控件值的改变-->
<form class="page__bd" bindsubmit="formSubmit" bindreset="formReset">
  <view class="section section_gap">
   <view class="section__title">switch开关</view>
   <switch name="switch"/>
  </view>
  <view class="section section_gap">
   <view class="section__title">slider滑块</view>
   <slider value="50" name="slider" show-value ></slider>
  </view>
  <view class="section">
   <view class="section__title">input输入框</view>
   <input name="input" style="background-color: #FFFFFF" placeholder="请在这里输入" />
  </view>
  <view class="section section_gap">
   <view class="section__title">radio单选</view>
   <radio-group name="radio-group">
    <label><radio value="radio1"/>radio1</label>
    <label><radio value="radio2"/>radio2</label>
   </radio-group>
  </view>
  <view class="section section_gap">
   <view class="section__title">checkbox多选</view>
   <checkbox-group name="checkbox">
    <label><checkbox value="checkbox1"/>checkbox1</label>
    <label><checkbox value="checkbox2"/>checkbox2</label>
   </checkbox-group>
  </view>
  <view class="section">
   <view class="section__title">地区选择器</view>
   <picker name="areaPicker" bindchange="bindPickerChange" value="{{index}}" range="{{array}}">
    <view class="picker">
     当前选择:{{array[index]}}
    </view>
   </picker>
  </view>
  <view class="section">
   <view class="section__title">时间选择器</view>
   <picker name="timePicker" mode="time" value="{{time}}" start="09:01" end="21:01" bindchange="bindTimeChange">
    <view class="picker">
     当前选择: {{time}}
    </view>
   </picker>
  </view>
  <view class="section">
   <view class="section__title">日期选择器</view>
   <picker name="datePicker" mode="date" value="{{date}}" start="2015-09-01" end="2017-09-01" bindchange="bindDateChange">
    <view class="picker">
     当前选择: {{date}}
    </view>
   </picker>
  </view>
  <view class="btn-area">
   <button form-type="submit">Submit提交</button>
   <button form-type="reset">Reset重置</button>
  </view>
 </form>

如何获取form内部的控件的值,就需要用到form的相关属性,代码如下

// pages/index/Component/FormM/FormM.js
Page({
 //初始化数据
 data: {
  array: ['大中国', '美国', '巴西', '小日本'],
  index: 0,
  date: '2016-12-20',
  time: '11:19',
  allValue:''
 },
 //表单提交按钮
 formSubmit: function(e) {
  console.log('form发生了submit事件,携带数据为:', e.detail.value)
  this.setData({
   allValue:e.detail.value
  })
 },
 //表单重置按钮
 formReset: function(e) {
  console.log('form发生了reset事件,携带数据为:', e.detail.value)
  this.setData({
   allValue:''
  })
 },
 //---------------------与选择器相关的方法
 //地区选择
 bindPickerChange: function(e) {
  console.log('picker发送选择改变,携带值为', e.detail.value)
  this.setData({
   index: e.detail.value
  })
 },
 //日期选择
 bindDateChange: function(e) {
  this.setData({
   date: e.detail.value
  })
 },
 //时间选择
 bindTimeChange: function(e) {
  this.setData({
   time: e.detail.value
  })
 },


})

效果图:

微信小程序 表单Form实例详解(附源码)   微信小程序 表单Form实例详解(附源码)   微信小程序 表单Form实例详解(附源码)   微信小程序 表单Form实例详解(附源码)

输出表单中的结果值:

微信小程序 表单Form实例详解(附源码)

源码下载:http://xiazai.3water.com/201612/yuanma/WX-form-Demo4-master(3water.com).rar

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
Html中JS脚本执行顺序简单举例说明
Jun 19 Javascript
下载文件个别浏览器文件名乱码解决办法
Mar 19 Javascript
关于Javascript与iframe的那些事儿
Jul 04 Javascript
JS实现图片翻书效果示例代码
Sep 09 Javascript
jQuery Ajax中的事件详细介绍
Apr 16 Javascript
JS+CSS实现下拉列表框美化效果(3款)
Aug 15 Javascript
jQuery文字提示与图片提示效果实现方法
Jul 04 Javascript
js实现背景图自适应窗口大小
Jan 10 Javascript
Vue路由管理器Vue-router的使用方法详解
Feb 05 Javascript
微信小程序用户盒子、宫格列表的实现
Jul 01 Javascript
Vue路由权限控制解析
Nov 09 Javascript
Nest.js参数校验和自定义返回数据格式详解
Mar 29 Javascript
微信小程序 122100版本更新问题解决方案
Dec 22 #Javascript
JS闭包与延迟求值用法示例
Dec 22 #Javascript
jQuery实现两个select控件的互移操作
Dec 22 #Javascript
JS 调用微信扫一扫功能
Dec 22 #Javascript
Vue实现双向绑定的方法
Dec 22 #Javascript
JS实现物体带缓冲的间歇运动效果示例
Dec 22 #Javascript
Vue.js双向绑定实现原理详解
Dec 22 #Javascript
You might like
小偷PHP+Html+缓存
2006/12/20 PHP
PHPMyadmin 配置文件详解(配置)
2009/12/03 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
实例说明js脚本语言和php脚本语言的区别
2019/04/04 PHP
javascript一些不错的函数脚本代码
2008/09/10 Javascript
从盛大通行证上摘下来的身份证验证js代码
2011/01/11 Javascript
js对象关系图 方便dom操作
2012/03/18 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
jQuery实现的网页竖向菜单效果代码
2015/08/26 Javascript
简单谈谈javascript中的变量、作用域和内存问题
2015/08/30 Javascript
JavaScript识别网页关键字并进行描红的方法
2015/11/09 Javascript
ES6通过babel转码使用webpack使用import关键字
2016/12/13 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
2017/04/07 Javascript
js 提取某()特殊字符串长度的实例
2017/12/06 Javascript
vue.js获得当前元素的文字信息方法
2018/03/09 Javascript
Vue项目自动转换 px 为 rem的实现方法
2018/10/29 Javascript
angular2 NgModel模块的具体使用方法
2019/04/10 Javascript
postman自定义函数实现 时间函数的思路详解
2019/04/17 Javascript
详解Vue demo实现商品列表的展示
2019/05/07 Javascript
element-ui中Table表格省市区合并单元格的方法实现
2019/08/07 Javascript
[52:09]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第二场
2014/05/26 DOTA
Python实现二叉堆
2016/02/03 Python
详解django中自定义标签和过滤器
2017/07/03 Python
python实现图片,视频人脸识别(opencv版)
2020/11/18 Python
澳大利亚在线时尚精品店:Hello Molly
2018/02/26 全球购物
Linux上比较文件的命令都有哪些
2013/09/28 面试题
《小熊住山洞》教学反思
2014/02/21 职场文书
幼儿教师培训感言
2014/03/08 职场文书
优秀教师演讲稿
2014/05/06 职场文书
优秀学生干部先进事迹材料
2014/05/26 职场文书
小学生迎国庆演讲稿
2014/09/05 职场文书
领导干部查摆“四风”问题自我剖析材料思想汇报
2014/10/05 职场文书
初中班主任工作随笔
2015/08/15 职场文书
导游词之云南丽江古城
2019/09/17 职场文书
Redis主从配置和底层实现原理解析(实战记录)
2021/06/30 Redis
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL