微信小程序 表单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 相关文章推荐
js取滚动条的尺寸的函数代码
Nov 30 Javascript
js点击出现悬浮窗效果不使用JQuery插件
Jan 20 Javascript
jquery 使用简明教程
Mar 05 Javascript
js实现模拟计算器退格键删除文字效果的方法
May 07 Javascript
Jquery 垂直多级手风琴菜单附源码下载
Nov 17 Javascript
jQuery简单入门示例之用户校验demo示例
Jul 09 Javascript
jQuery解析XML 详解及方法总结
Sep 28 Javascript
bootstrapValidator自定验证方法写法
Dec 01 Javascript
js Canvas实现的日历时钟案例分享
Dec 25 Javascript
jquery,js简单实现类似Angular.js双向绑定
Jan 13 Javascript
JS实现简单的星期格式转换功能示例
Jul 23 Javascript
vue 实现滚动到底部翻页效果(pc端)
Jul 31 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 多维数组排序(usort,uasort)
2010/06/30 PHP
php中CI操作多个数据库的代码
2012/07/05 PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
2014/08/18 PHP
大家须知简单的php性能优化注意点
2016/01/04 PHP
深入了解PHP中的Array数组和foreach
2016/11/06 PHP
PHP实现图片批量打包下载功能
2017/03/01 PHP
js 复制或插入Html的实现方法小结
2010/05/19 Javascript
基于jQuery的js分页代码
2010/06/10 Javascript
基于jQuery的简单九宫格实现代码
2012/08/09 Javascript
基于jquery实现点击左右按钮图片横向滚动
2013/04/11 Javascript
只需一行代码,轻松实现一个在线编辑器
2013/11/12 Javascript
基于jquery实现的文字淡入淡出效果
2013/11/14 Javascript
使用原生JS实现弹出层特效
2014/12/22 Javascript
javascript基础知识分享之类与函数化
2016/02/13 Javascript
原生js实现autocomplete插件
2016/04/14 Javascript
AngularJS基础 ng-keyup 指令简单示例
2016/08/02 Javascript
AngularJS 工作原理详解
2016/08/18 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
2017/02/16 Javascript
如何使用JS在HTML中自定义字符串格式化
2017/07/20 Javascript
ios设备中angularjs无法改变页面title的解决方法
2018/09/13 Javascript
js实现纯前端压缩图片
2020/11/16 Javascript
[04:03]辉夜杯主赛事 12月25日RECAP精彩回顾
2015/12/26 DOTA
python fabric实现远程部署
2017/01/05 Python
Python编写Windows Service服务程序
2018/01/04 Python
全面分析Python的优点和缺点
2018/02/07 Python
python opencv根据颜色进行目标检测的方法示例
2020/01/15 Python
解决安装新版PyQt5、PyQT5-tool后打不开并Designer.exe提示no Qt platform plugin的问题
2020/04/24 Python
优秀学生自我鉴定范例
2013/12/18 职场文书
名人演讲稿范文
2013/12/28 职场文书
事业单位公务员的职业生涯规划
2014/01/15 职场文书
项目申报专员岗位职责
2014/07/09 职场文书
嘉宾邀请函
2015/01/31 职场文书
初婚初育证明范本
2015/06/18 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
MySQL 隔离数据列和前缀索引的使用总结
2021/05/14 MySQL
Apache自带的ab压力测试工具的实现
2022/07/23 Servers