微信小程序 表單Form實(shí)例詳解(附源碼)
微信小程序 表單Form實(shí)例
表單Form的應(yīng)用很廣泛,我們可以利用form設(shè)計(jì)登錄注冊,也可以設(shè)計(jì)一種答題問卷的形式,今天主要講一下form的使用
form表單,將組件內(nèi)輸入的"switch","input","checkbox","slider","radio","picker"的值進(jìn)行提交,數(shù)據(jù)的格式為:name:value,所以表單中控件都需要添加name屬性,否則找不到對應(yīng)控件的值。其主要屬性:

主要代碼,創(chuàng)建一個(gè)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的屬性進(jìn)行
(e.detail.value.nameName1)調(diào)用,
form自帶有提交和重置按鈕,會自動獲取表單中所有控件值的改變-->
<form class="page__bd" bindsubmit="formSubmit" bindreset="formReset">
<view class="section section_gap">
<view class="section__title">switch開關(guān)</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="請?jiān)谶@里輸入" />
</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">地區(qū)選擇器</view>
<picker name="areaPicker" bindchange="bindPickerChange" value="{{index}}" range="{{array}}">
<view class="picker">
當(dāng)前選擇:{{array[index]}}
</view>
</picker>
</view>
<view class="section">
<view class="section__title">時(shí)間選擇器</view>
<picker name="timePicker" mode="time" value="{{time}}" start="09:01" end="21:01" bindchange="bindTimeChange">
<view class="picker">
當(dāng)前選擇: {{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">
當(dāng)前選擇: {{date}}
</view>
</picker>
</view>
<view class="btn-area">
<button form-type="submit">Submit提交</button>
<button form-type="reset">Reset重置</button>
</view>
</form>
如何獲取form內(nèi)部的控件的值,就需要用到form的相關(guān)屬性,代碼如下
// pages/index/Component/FormM/FormM.js
Page({
//初始化數(shù)據(jù)
data: {
array: ['大中國', '美國', '巴西', '小日本'],
index: 0,
date: '2016-12-20',
time: '11:19',
allValue:''
},
//表單提交按鈕
formSubmit: function(e) {
console.log('form發(fā)生了submit事件,攜帶數(shù)據(jù)為:', e.detail.value)
this.setData({
allValue:e.detail.value
})
},
//表單重置按鈕
formReset: function(e) {
console.log('form發(fā)生了reset事件,攜帶數(shù)據(jù)為:', e.detail.value)
this.setData({
allValue:''
})
},
//---------------------與選擇器相關(guān)的方法
//地區(qū)選擇
bindPickerChange: function(e) {
console.log('picker發(fā)送選擇改變,攜帶值為', e.detail.value)
this.setData({
index: e.detail.value
})
},
//日期選擇
bindDateChange: function(e) {
this.setData({
date: e.detail.value
})
},
//時(shí)間選擇
bindTimeChange: function(e) {
this.setData({
time: e.detail.value
})
},
})
效果圖:

輸出表單中的結(jié)果值:

源碼下載:http://xiazai.jb51.net/201612/yuanma/WX-form-Demo4-master(jb51.net).rar
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Promise靜態(tài)四兄弟實(shí)現(xiàn)示例詳解

