微信小程序 表单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 DOM学习第一章 W3C DOM简介
Feb 19 Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
May 20 Javascript
node.js中的fs.fchmod方法使用说明
Dec 16 Javascript
JavaScript为事件句柄绑定监听函数实例详解
Dec 15 Javascript
jQuery基于muipicker实现仿ios时间选择
Feb 22 Javascript
JS常用倒计时代码实例总结
Feb 07 Javascript
收藏AngularJS中最重要的核心功能
Jul 09 Javascript
Angular.js中angular-ui-router的简单实践
Jul 18 Javascript
浅谈Vue内置component组件的应用场景
Mar 27 Javascript
Vue 让元素抖动/摆动起来的实现代码
May 31 Javascript
解决vue 给window添加和移除resize事件遇到的坑
Jul 21 Javascript
Vue项目中使用mock.js的完整步骤
Jan 12 Vue.js
微信小程序 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
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
Laravel 5框架学习之Laravel入门和新建项目
2015/04/07 PHP
我整理的PHP 7.0主要新特性
2016/01/07 PHP
PHP Mysqli 常用代码集合
2016/11/12 PHP
yii 2.0中表单小部件的使用方法示例
2017/05/23 PHP
PHP使用Curl实现模拟登录及抓取数据功能示例
2018/04/27 PHP
分享一个自己写的table表格排序js插件(高效简洁)
2011/10/29 Javascript
Jquery显示、隐藏元素以及添加删除样式
2013/08/09 Javascript
jquery.form.js用法之清空form的方法
2014/03/07 Javascript
jquery插件之定时查询待处理任务数量
2014/05/01 Javascript
用JavaScript实现一个代码简洁、逻辑不复杂的多级树
2014/05/23 Javascript
jquery实现二级导航下拉菜单效果
2015/12/18 Javascript
javascript+css3 实现动态按钮菜单特效
2016/02/06 Javascript
简单易懂的天气插件(代码分享)
2017/02/04 Javascript
JS兼容所有浏览器的DOMContentLoaded事件
2018/01/12 Javascript
详解Node.js一行命令上传本地文件到服务器
2019/04/22 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
解决vue 退出动画无效的问题
2020/08/09 Javascript
python算法学习之桶排序算法实例(分块排序)
2013/12/18 Python
一步步解析Python斗牛游戏的概率
2016/02/12 Python
Python爬取网易云音乐上评论火爆的歌曲
2017/01/19 Python
python try except返回异常的信息字符串代码实例
2019/08/15 Python
Python在字符串中处理html和xml的方法
2020/07/31 Python
html5 css3 动态气泡按钮实例演示
2012/12/02 HTML / CSS
用canvas画心电图的示例代码
2018/09/10 HTML / CSS
canvas生成带二维码海报的踩坑记录
2019/09/11 HTML / CSS
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
体育教师工作总结的自我评价
2013/10/10 职场文书
如何掌握自荐信格式呢
2013/11/19 职场文书
内容编辑个人求职信
2013/12/10 职场文书
无工作经验者个人求职信范文
2013/12/22 职场文书
新农村建设汇报材料
2014/08/15 职场文书
交通事故委托书范本(2篇)
2014/09/21 职场文书
毕业典礼致辞
2015/07/29 职场文书
2016年公司中秋节致辞
2015/11/26 职场文书
CSS使用Flex和Grid布局实现3D骰子
2022/08/05 HTML / CSS