微信小程序 表单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 相关文章推荐
Ajax,UTF-8还是GB2312 eval 还是execScript
Nov 13 Javascript
js兼容火狐显示上传图片预览效果的方法
May 21 Javascript
javascript实现动态显示颜色块的报表效果
Apr 10 Javascript
Webpack如何引入bootstrap的方法
Jun 17 Javascript
JS中type=&quot;button&quot;和type=&quot;submit&quot;的区别
Jul 04 Javascript
初探JavaScript 面向对象(推荐)
Sep 03 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
Jul 18 Javascript
Vue起步(无cli)的啊教程详解
Apr 11 Javascript
js实现简单掷骰子小游戏
Oct 24 Javascript
在vue中给后台接口传的值为数组的格式代码
Nov 12 Javascript
JavaScript枚举选择jquery插件代码实例
Nov 17 jQuery
html5 录制mp3音频支持采样率和比特率设置
Jul 15 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
真正的ZIP文件操作类(php)
2007/07/21 PHP
晋城吧对DiscuzX进行的前端优化要点
2010/09/05 PHP
php删除文本文件中重复行的方法
2015/04/28 PHP
php生成gif动画的方法
2015/11/05 PHP
thinkphp框架下404页面设置 仅三步
2016/05/14 PHP
php使用curl模拟浏览器表单上传文件或者图片的方法
2018/11/10 PHP
PHP开发实现快递查询功能详解
2019/04/08 PHP
Extjs列表详细信息窗口新建后自动加载解决方法
2010/04/02 Javascript
js改变img标签的src属性在IE下没反应的解决方法
2013/07/23 Javascript
Js参数值中含有单引号或双引号问题的解决方法
2013/11/06 Javascript
DOM基础教程之使用DOM
2015/01/19 Javascript
javascript适合移动端的日期时间拾取器
2015/11/10 Javascript
JavaScript的==运算详解
2016/07/20 Javascript
vue 实现模糊检索并根据其他字符的首字母顺序排列
2019/09/19 Javascript
JS document内容及样式操作完整示例
2020/01/14 Javascript
Python RuntimeError: thread.__init__() not called解决方法
2015/04/28 Python
pandas对指定列进行填充的方法
2018/04/11 Python
关于django 数据库迁移(migrate)应该知道的一些事
2018/05/27 Python
Python字典对象实现原理详解
2019/07/01 Python
python如何通过twisted搭建socket服务
2020/02/03 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
详解Python IO编程
2020/07/24 Python
浅析pandas随机排列与随机抽样
2021/01/22 Python
HTML5新增属性data-*和js/jquery之间的交互及注意事项
2017/08/08 HTML / CSS
瑰珀翠美国官网:Crabtree & Evelyn美国
2016/11/29 全球购物
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
如何在C# winform中异步调用web services
2015/09/21 面试题
学校安全检查制度
2014/01/27 职场文书
电焊工岗位工作职责
2014/07/09 职场文书
通信工程求职信
2014/07/16 职场文书
医疗专业毕业生求职信
2014/08/28 职场文书
企业财务总监岗位职责
2015/04/03 职场文书
三国演义读书笔记
2015/06/25 职场文书
护士心得体会范文
2016/01/25 职场文书
nginx 多个location转发任意请求或访问静态资源文件的实现
2021/03/31 Servers
详解Oracle块修改跟踪功能
2021/11/07 Oracle