微信小程序 表单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用图作提交按钮或超连接
Mar 26 Javascript
document.execCommand()的用法小结
Jan 08 Javascript
javascript如何使用bind指定接收者
May 04 Javascript
jquery判断复选框是否选中进行答题提示特效
Dec 10 Javascript
一种Javascript解释ajax返回的json的好方法(推荐)
Jun 02 Javascript
jQuery Tags Input Plugin(添加/删除标签插件)详解
Jun 20 Javascript
JavaScript简介_动力节点Java学院整理
Jun 26 Javascript
原生js封装添加class,删除class的实例
Nov 06 Javascript
解决vue组件props传值对象获取不到的问题
Jun 06 Javascript
Vue记住滚动条和实现下拉加载的完美方法
Jul 31 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
Aug 14 Javascript
vscode+gulp轻松开发小程序的完整步骤
Oct 18 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中动态显示签名和ip原理
2007/03/28 PHP
php操作mysqli(示例代码)
2013/10/28 PHP
php连接MSsql server的五种方法总结
2018/03/04 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
Thinkphp 框架扩展之行为扩展原理与实现方法分析
2020/04/23 PHP
js创建元素(节点)示例
2014/01/02 Javascript
JQuery打造省市下拉框联动效果
2014/05/18 Javascript
JavaScript常用验证函数实例汇总
2014/11/25 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
每天一篇javascript学习小结(Date对象)
2015/11/13 Javascript
jQuery动画效果图片轮播特效
2016/01/12 Javascript
浅析javascript中的Event事件
2016/12/09 Javascript
JS实现类似百叶窗下拉菜单效果
2016/12/30 Javascript
原生js实现放大镜效果
2017/01/11 Javascript
JavaScript如何一次性展示几万条数据
2017/03/30 Javascript
Vue2.0+ElementUI实现表格翻页的实例
2017/10/23 Javascript
ligerUI---ListBox(列表框可移动的实例)
2017/11/28 Javascript
详解react-redux插件入门
2018/04/19 Javascript
vue debug 二种方法
2018/09/16 Javascript
vue实现点击隐藏与显示实例分享
2019/02/13 Javascript
vue实现后台管理权限系统及顶栏三级菜单显示功能
2019/06/19 Javascript
vue移动端城市三级联动组件使用详解
2019/07/26 Javascript
[00:12]DAC SOLO赛卫冕冠军 VG.Paparazi灬展现SOLO技巧
2018/04/06 DOTA
在Python的Django框架中用流响应生成CSV文件的教程
2015/05/02 Python
Python中列表和元组的相关语句和方法讲解
2015/08/20 Python
python实现简单http服务器功能
2018/09/17 Python
基于python历史天气采集的分析
2019/02/14 Python
TensorBoard 计算图的可视化实现
2020/02/15 Python
Python多进程multiprocessing、进程池用法实例分析
2020/03/24 Python
意大利领先的线上奢侈品销售电商:Eleonora Bonucci
2017/10/17 全球购物
秋季红领巾广播稿
2014/01/27 职场文书
护士医德医风自我评价
2014/09/15 职场文书
基层工作经验证明样本
2014/11/16 职场文书
浅谈golang package中init方法的多处定义及运行顺序问题
2021/05/06 Golang
php png失真的原因及解决办法
2021/10/24 PHP
基于PostgreSQL/openGauss 的分布式数据库解决方案
2021/12/06 PostgreSQL