首页  >  文章  >  微信小程序  >  微信小程序组件form表单解读和分析介绍

微信小程序组件form表单解读和分析介绍

高洛峰
高洛峰原创
2017-03-20 14:45:533612浏览

form表单组件说明:

表单,将组件内的用户输入的698d939a2c9041f2302734cfeb04788e 0f0306f9b187f2e363126bc29c8b1420 a2f269297782d34318beedfba321faa2 3b52a8eb2f08457aefd98cb8a948e248 dd7cdcbe81dd3b31defaf1177bb27d90 2acdc552dabb97ccccd5207eb355257b 提交。

当点击 e8b36d49ce73ede15e584e9dd86e79e9 表单中 formType 为 submit 的de935b9c153fbe5d6ad7df96bd65d7b8 组件时,会将表单组件中的 value 值进行提交,需要在表单组件中加上 name 来作为 key。

form表单组件用法:

重置:c56516d57f37c66d963e391e5b86bd62Reset65281c5ac262bf6d81768915a4a77ac0


form表单组件示例代码运行效果如下:

微信小程序组件form表单解读和分析介绍

提交: cbc47cc7c46af5112c7354a7ad9ae6adSubmit65281c5ac262bf6d81768915a4a77ac0

微信小程序组件form表单解读和分析介绍

下面是WXML代码:

<view class="page">
  <view class="page__hd">
    <text class="page__title">表单控件</text>
  </view>
  <form class="page__bd" catchsubmit="formSubmit" catchreset="formReset">
    <view class="section">
      <view class="section__title">您的姓名:</view>
      <input name="name" placeholder="姓名:" />
    </view>
    <view class="section section_gap">
      <view class="section__title">性别:</view>
      <radio-group name="gender">
        <label><radio value="男"/>男</label>
        <label><radio value="女"/>女</label>
        <label><radio value="其他"/>其他</label>
      </radio-group>
    </view>
    <view class="section section_gap">
      <view class="section__title">年龄:</view>
      <slider value="18" name="age" show-value ></slider>
    </view>
    <view class="section section_gap">
      <view class="section__title">擅长的开发语言:</view>
      <checkbox-group name="technology">
        <label><checkbox value="Java"/>Java</label>
        <label><checkbox value="JavaScript"/>JavaScript</label>

下面是JS代码:

Page({
  data: {
    pickerHidden: true,
    chosen: &#39;&#39;,
    modalHidden: true,
    name: &#39;&#39;,
    gender: &#39;&#39;,
    age: &#39;&#39;,
    technology: &#39;&#39;,
    isPublic: &#39;&#39;
  },
  formSubmit: function(e) {
    var value =  e.detail.value;
    this.setData(
      {
        modalHidden: false,
        name: value.name,
        gender: value.gender,
        age: value.age,
        technology: value.technology,
        isPublic: value.isPublic
      }
    );
    console.log(&#39;form发生了submit事件,携带数据为:&#39;, e.detail.value)
  },
  formReset: function(e) {
    console.log(&#39;form发生了reset事件,携带数据为:&#39;, e.detail.value)
    this.setData({
      chosen: &#39;&#39;
    })
  },
  modalChange: function(e) {
    this.setData({
      modalHidden: true
    })
  },
})

下面是WXSS代码:

wx-label {
  display: block;
  margin-top: 10rpx;
  margin-left: 15rpx;
}
.section__title{
  font-size: 30rpx;
  margin-bottom: 30rpx;
  font-weight: bold;
}
.page {
    min-height: 100%;
    flex: 1;
    background-color: #FBF9FE;
    font-size: 32rpx;
    font-family: -apple-system-font,Helvetica Neue,Helvetica,sans-serif;
    overflow: hidden;
}
.page__hd{
    padding: 50rpx 50rpx 100rpx 50rpx;
    text-align: center;
}
.page__title{
    display: inline-block;
    padding: 20rpx 40rpx;
    font-size: 32rpx;
    color: #AAAAAA;
    border-bottom: 1px solid #CCCCCC;
}
.page__desc{
    display: none;
    margin-top: 20rpx;
    font-size: 26rpx;
    color: #BBBBBB;
}
.section{
    margin-bottom: 80rpx;
}
.section_gap{
    padding: 0 30rpx;
}
.section__title{
    margin-bottom: 16rpx;
    padding-left: 30rpx;
    padding-right: 30rpx;
}
.section_gap .section__title{
    padding-left: 0;
    padding-right: 0;
}
.btn-area{
    padding: 0 30px;
}
.btn-area button{
    margin-top: 20rpx;
    margin-bottom: 20rpx;
}
.page input{
    padding: 20rpx 30rpx;
    background-color: #fff;
    margin-left: 20rpx;
}

form表单的主要属性:

微信小程序组件form表单解读和分析介绍

注意:

本案例使用的modal组件即将过期,推荐使用wx.showModal API

将formSubmit方法改写成这样,就可以。目前wx.showModal这个API的content不支持换行,有可能是Bug,期待后续优化。

formSubmit: function(e) {
    var value =  e.detail.value;
    wx.showModal({
      title: &#39;您填写的表单如下&#39;,
      content: &#39;姓名:&#39;+value.name
              +&#39;性别:&#39;+value.gender
              +&#39;年龄:&#39;+value.age
              +&#39;擅长的开发语言:&#39;+value.technology
              +&#39;是否公开信息:&#39; + value.isPublic,
      showCancel: false,
      success: function(res) {
        if (res.confirm) {
          console.log(&#39;用户点击确定&#39;)
        }
      }
    });
  },


以上是微信小程序组件form表单解读和分析介绍的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn