微信小程序 表单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 相关文章推荐
定义JavaScript二维数组采用定义数组的数组来实现
Dec 09 Javascript
js加减乘除丢失精度问题解决方法
May 16 Javascript
PHP使用方法重载实现动态创建属性的get和set方法
Nov 17 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
Feb 26 Javascript
jquery.qtip提示信息插件用法简单实例
Jun 17 Javascript
Bootstrap导航条学习使用(二)
Feb 08 Javascript
AngularJS学习第一篇 AngularJS基础知识
Feb 13 Javascript
JS获取当前地理位置的方法
Oct 25 Javascript
一个基于react的图片裁剪组件示例
Apr 18 Javascript
JS将网址url转化为JSON格式的方法
Jul 02 Javascript
vue的列表交错过渡实现代码示例
May 05 Javascript
uni-app微信小程序登录授权的实现
May 22 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的session cookie错误
2009/08/09 PHP
php二维数组转成字符串示例
2014/02/17 PHP
设置php页面编码的两种方法示例介绍
2014/03/03 PHP
PHP魔术方法的使用示例
2015/06/23 PHP
jquery中获取元素里某一特定子元素的代码
2014/12/02 Javascript
悬浮广告方法日常收集整理
2016/03/18 Javascript
浅谈Angular的$q, defer, promise
2016/12/20 Javascript
jQuery Validate 无法验证 chosen-select元素的解决方法
2017/05/17 jQuery
vue.js 左侧二级菜单显示与隐藏切换的实例代码
2017/05/23 Javascript
Node.js v8.0.0正式发布!看看带来了哪些主要新特性
2017/06/02 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
2017/09/07 Javascript
React + webpack 环境配置的方法步骤
2017/09/07 Javascript
简述Angular 5 快速入门
2017/11/04 Javascript
layer.open 获取不到表单信息的解决方法
2019/09/26 Javascript
vue实现select下拉显示隐藏功能
2019/09/30 Javascript
vue之延时刷新实例
2019/11/14 Javascript
Vue使用虚拟dom进行渲染view的方法
2019/12/26 Javascript
JS document文档的简单操作完整示例
2020/01/13 Javascript
vue实现打地鼠小游戏
2020/08/21 Javascript
[50:44]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第二场 2月22日
2021/03/11 DOTA
使用Python解析JSON数据的基本方法
2015/10/15 Python
Python编程中归并排序算法的实现步骤详解
2016/05/04 Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
python2.7到3.x迁移指南
2018/02/01 Python
解决win64 Python下安装PIL出错问题(图解)
2018/09/03 Python
Django Rest framework认证组件详细用法
2019/07/25 Python
python装饰器的特性原理详解
2019/12/25 Python
python使用selenium爬虫知乎的方法示例
2020/10/28 Python
html特殊符号示例 html特殊字符编码对照表
2014/01/14 HTML / CSS
函授毕业自我鉴定
2013/12/19 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
毕业证丢失证明范本
2014/09/20 职场文书
南京导游词
2015/02/03 职场文书
从严治党主题教育活动总结
2015/05/07 职场文书
房屋转让协议书(标准范本)
2016/03/21 职场文书
JavaScript ES6的函数拓展
2022/01/18 Javascript