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

高洛峰
发布: 2017-03-20 14:45:53
原创
3596 人浏览过

form表单组件说明:

表单,将组件内的用户输入的 提交。

当点击

表单中 formType 为 submit 的


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

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

提交:

微信小程序组件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中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!