小程序提交form表单

简介: 微信小程序提交form表单内容

wxml

<form catchsubmit="confirmPublish">
  <view class="cu-form-group margin-top">
    <view class="title d-flex">
      姓名
    </view>
    <view class="w-100 h-100 borderBottom flex-1 d-flex jc-start ai-center" style="height:100rpx;">
      <input maxlength="15" placeholder="请输入姓名" value="{{name}}" data-name="name" bindblur="setInput"></input>
    </view>
  </view>
  <view class="cu-form-group margin-top">
    <view class="title d-flex">性别
    </view>
    <picker class="w-100 h-100 borderBottom flex-1 d-flex jc-start ai-center" style="height:100rpx;font-size: 30rpx;color: #555;" bindchange="bindPickerChange" value="{{index}}" range="{{array}}">
      <view class="picker">
        {{array[sex]}}
      </view>
    </picker>
  </view>
  <view class="cu-form-group margin-top">
    <view class="title d-flex">
      手机号
    </view>
    <view class="w-100 h-100 borderBottom flex-1 d-flex jc-start ai-center" style="height:100rpx;">
      <input maxlength="15" placeholder="请输入姓名" value="{{phone}}" data-name="phone" bindblur="setInput"></input>
    </view>
  </view>
  <view class="cu-form-group margin-top">
    <view class="title d-flex">
      证件号
    </view>
    <view class="w-100 h-100 borderBottom flex-1 d-flex jc-start ai-center" style="height:100rpx;">
      <input maxlength="15" placeholder="请输入姓名" value="{{idNumber}}" data-name="idNumber" bindblur="setInput"></input>
    </view>
  </view>
  <view class="cu-form-group margin-top">
    <view class="title d-flex">日期选择器</view>
    <view class="picker" class="w-100 h-100 borderBottom flex-1 d-flex jc-start ai-center" style="height:100rpx;font-size: 30rpx;color: #555;" bind:tap="openPicker">
      {{currentChoose}}
    </view>
  </view>
  <van-action-sheet show="{{ show }}" bind:close="onClose" bind:getuserinfo="onGetUserInfo">
    <van-datetime-picker type="datetime" value="{{ currentDate }}" min-date="{{ minDate }}" max-date="{{ maxDate }}" bind:cancel="onCancel" bind:confirm="onConfirm" bind:change="onChange" />
  </van-action-sheet>
  <view class="cu-form-group margin-top">
    <view class="title d-flex">来访事由
    </view>
    <picker class="w-100 h-100 borderBottom flex-1 d-flex jc-start ai-center" style="height:100rpx;font-size: 30rpx;color: #555;" bindchange="bindPickerChangeCause" value="{{index1}}" range="{{visitCausearray}}">
      <view class="picker">
        {{visitCausearray[visitCause]}}
      </view>
    </picker>
  </view>
  <view class="cu-form-group margin-top">
    <view class="title d-flex">
      来访公司
    </view>
    <view class="w-100 h-100 borderBottom flex-1 d-flex jc-start ai-center" style="height:100rpx;">
      <input maxlength="15" placeholder="请输入姓名" value="{{visitCompany}}" data-name="visitCompany" bindblur="setInput"></input>
    </view>
  </view>
  <view class="cu-form-group margin-top">
    <view class="title d-flex">
      被访姓名
    </view>
    <view class="w-100 h-100 borderBottom flex-1 d-flex jc-start ai-center" style="height:100rpx;">
      <input maxlength="15" placeholder="请输入姓名" value="{{interviewee}}" data-name="interviewee" bindblur="setInput"></input>
    </view>
  </view>
  <view class="cu-form-group margin-top">
    <view class="title d-flex">被访部门
    </view>
    <picker class="w-100 h-100 borderBottom flex-1 d-flex jc-start ai-center" style="height:100rpx;font-size: 30rpx;color: #555;" bindchange="bindPickerOrgan" value="{{index2}}" range="{{organarray}}">
      <view class="picker">
        {{organarray[visitOrganId]}}
      </view>
    </picker>
  </view>
  <button class='btn1' bindtap="bindViewTapsuccess" form-type="submit">完成</button>
</form>

js

// pages/addsign/addsign.js
var util = require('../../utils/util.js');
const app = getApp()
Page({
  /**
   * 页面的初始数据
   */
  data: {
    globalid: [],
    array: ['男', '女'],
    sex: 0,
    visitCausearray: ['面试', '开会', '拜访顾客', '项目实施', '其他'],
    visitCause: 0,
    organarray: ['生产部', '运营部', '营销部'],
    visitOrganId: 0,
    date: '2021-06-01',
    name: '',
    phone: '',
    idNumber: '',
    subscribeTime: '',
    visitCompany: '',
    interviewee: '',
    visitOrgan: '',
    //日期选择器
    minHour: 0,
    maxHour: 24,
    minDate: new Date(1990, 1, 1).getTime(),
    maxDate: new Date(2099, 12, 31).getTime(),
    currentDate: new Date().getTime(),
    show: false,
    currentChoose: ''
  },
  //日期选择器的处理
  openPicker() {
    this.setData({
      show: true
    })
  },
  onConfirm(e) {
    this.setData({
      show: false,
      currentChoose: this.formatDate(new Date(e.detail))
    })
  },
  onClose() {
    this.setData({
      show: false
    })
  },
  onCancel() {
    this.setData({
      show: false
    })
  },
  formatDate(date) {
    let taskStartTime
    if (date.getMonth() < 9) {
      taskStartTime = date.getFullYear() + "-0" + (date.getMonth() + 1) + "-"
    } else {
      taskStartTime = date.getFullYear() + "-" + (date.getMonth() + 1) + "-"
    }
    if (date.getDate() < 10) {
      taskStartTime += "0" + date.getDate()
    } else {
      taskStartTime += date.getDate()
    }
    taskStartTime += " " + date.getHours() + ":" + date.getMinutes()
    this.setData({
      taskStartTime: taskStartTime,
    })
    return taskStartTime;
  },
  //男女
  bindPickerChange: function(e) {
    console.log('picker发送选择改变,携带值为', e.detail.value)
    this.setData({
      sex: e.detail.value
    })
  },
  //来访事由
  bindPickerChangeCause: function(e) {
    console.log('picker发送选择改变,携带值为', e.detail.value)
    this.setData({
      visitCause: e.detail.value
    })
  },
  //部门
  bindPickerOrgan: function(e) {
    console.log('picker发送选择改变,携带值为', e.detail.value)
    this.setData({
      visitOrganId: e.detail.value
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    // 调用函数时,传入new Date()参数,返回值是日期和时间
    var time = util.formatTime(new Date());
    this.setData({
      currentChoose: time
    });
  },
  setInput: function(e) {
    const {
      name
    } = e.target.dataset
    this.data[name] = e.detail.value
    this.setData(this.data)
  },
  confirmPublish: function() {
    var that = this
    const data = {}
    data.name = this.data.name
    data.sex = this.data.sex
    data.phone = this.data.phone
    data.idNumber = this.data.idNumber
    data.subscribeTime = this.data.currentChoose
    data.visitCause = this.data.visitCause
    data.visitCompany = this.data.visitCompany
    data.interviewee = this.data.interviewee
    data.visitOrgan = this.data.visitOrgan
    data.visitOrganId = this.data.visitOrganId
    console.log(JSON.stringify(data))
    wx.request({
      url: 'http://192.xxx.4.1xx:8093/cs-applet/subscribe/addCallerSubscribe',
      method: 'POST',
      data: data,
      header: {
        'content-type': 'application/json',
      },
      success: function(res) {
      },
      fail: function(error) {
        wx.showToast({
          title: error.message || '保存失败'
        })
        console.log(error)
      }
    })
  },
})

css

/* 确认发布的按钮 */
.btn1 {
  width: 90%;
  margin-top: 70rpx;
  margin-bottom: 70rpx;
  background-color: #09bb07;
  color: white;
  font-size: 33rpx;
  border-radius: 13rpx;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.d-flex {
  display: flex;
}
.cu-form-group .title {
  text-align: justify;
  padding-right: 30rpx;
  font-size: 30rpx;
  position: relative;
  height: 60rpx;
  line-height: 60rpx;
}
.cu-form-group {
  background-color: var(--white);
  padding: 1rpx 30rpx;
  display: flex;
  align-items: center;
  min-height: 100rpx;
  justify-content: space-between;
}
.borderBottom {
  border-bottom: 1rpx solid #eee;
}
.ai-center {
  align-items: center;
}
.jc-start {
  justify-content: flex-start;
}
.flex-1 {
  flex: 1;
}
.cu-form-group input {
  flex: 1;
  font-size: 30rpx;
  color: #555;
  padding-right: 20rpx;
}

点击完成的时候,将所有填写的值传给后端


相关文章
|
6月前
|
存储 小程序 JavaScript
【微信小程序】-- 表单组件 - picker 实现日期选择器(五十三)
【微信小程序】-- 表单组件 - picker 实现日期选择器(五十三)
|
4月前
|
小程序
【微信小程序-原生开发】实用教程12 - 注册页(含获取用户微信昵称,原生form的表单提交,t-result 的使用)
【微信小程序-原生开发】实用教程12 - 注册页(含获取用户微信昵称,原生form的表单提交,t-result 的使用)
40 0
|
4月前
|
小程序 数据库
【微信小程序-原生开发】实用教程10 - 动态的新增、修改、删除(含微信云数据库的新增、修改、删除,表单弹窗、确认弹窗、日期选择器、单行输入框、多行输入框、滑动组件的使用)
【微信小程序-原生开发】实用教程10 - 动态的新增、修改、删除(含微信云数据库的新增、修改、删除,表单弹窗、确认弹窗、日期选择器、单行输入框、多行输入框、滑动组件的使用)
151 0
|
2月前
详细教程:扫码提交表单后,数据直接推送到企业微信、钉钉、飞书群聊
在草料制作的表单中,填表人扫码填写并提交数据后,这些信息可以立即通过企业微信、钉钉或飞书自动推送到相应的群聊中,实现即时共享和沟通,提升团队协作效率。
|
1月前
|
JSON 数据可视化 小程序
uview/小程序可视化表单代码生成器文档
uview/小程序可视化表单代码生成器文档
26 0
|
4月前
|
小程序 C++
【微信小程序-原生开发】实用教程19 - 表单范例 VS 表单校验(含必填校验函数封装,实时数字校验)
【微信小程序-原生开发】实用教程19 - 表单范例 VS 表单校验(含必填校验函数封装,实时数字校验)
77 0
|
1月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
498 7
|
1月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
582 1
|
1月前
|
小程序 前端开发 测试技术
微信小程序的开发完整流程是什么?
微信小程序的开发完整流程是什么?
114 7
ly~
|
2月前
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
79 6

热门文章

最新文章

下一篇
无影云桌面