微信小程序> 微信小程序表单校验提交重置,及真机测试路径注意事项

微信小程序表单校验提交重置,及真机测试路径注意事项

浏览量:3427 时间: 来源:郑府首脑

微信小程序表单校验提交重置,数据互通(没接触过小程序,第一次写小程序,简单做个总结),代码中注释比较详细,可以多注意

微信小程序页面

index.js页面

import WxValidate from '../../utils/WxValidate.js'//小程序表单校验工具导入Page({  /**  * 页面的初始数据  */  data: {    // 普通选择器列表设置,及初始化    countyList: ['', '', '', ''],//地区集合    countyIndex: 0,    default: '请选择(必填)',    //表单数据绑定name属性    from:{      PHONE: '',     NAME: '',    }  },  // 选择地区  changeCounty(e) {    let countyIndex = e.detail.value    let countyList = this.data.countyList    this.setData({      countyIndex,      default: countyList[countyIndex]    })  },  //确认按钮把数据上传后台  formSubmit: function (e) {    console.log('form发生了submit事件,携带数据为:', e.detail.value);    var that = this;    var formData = e.detail.value;    var AREA = this.data.countyList[e.detail.value.AREA];//区县    formData.AREA=AREA;//重新赋值    if (!this.WxValidate.checkForm(formData)) {      const error = this.WxValidate.errorList[0]      this.showModal(error)      return false    }    wx.request({      url: 'URL',//不能使用localhost 要写明ip 不然真机无法测试      data: {        formData      },      method: 'POST',      header: {        'content-type': 'application/json' // 默认值      },      success: function (res) {        console.log('返回数据:', res);         //成功后清空数据并提示用户        if (res.data.status == 1){          //提交成功后清空数          that.setData({          //wxml页面将表单需要清空的input框绑定value='{{form_info}}'            form_info: ''          })          //重置下拉框数据          that.setData({            default: '请选择(必填)'          });          wx.showToast({            title: '成功',            icon: 'success',            duration: 2000//持续的时间          })         }else{          wx.showToast({            title: '失败',            icon: 'error',            duration: 2000//持续的时间          })         }      },    })  },  formReset:function(e){    //重置自带表单重置,picker需要手动修改值    this.setData({      default:'请选择(必填)'    })  },  //报错   showModal(error) {    wx.showModal({      content: error.msg,    })  },  /***验证表单字段 */  initValidate:function() {    const rules = {      PHONE: {        required: true,        tel: true      },      NAME: {        required: true,        maxlength: 10,      },     }    const messages = {      PHONE: {        required: '请填写联系电话',        tel: '请填写正确的联系电话'      },      NAME: {        required: '请填写姓名',        maxlength: '名称长度不超过10个字!'      },    }    this.WxValidate = new WxValidate(rules, messages)  },  /**  * 生命周期函数--监听页面加载  */  onLoad: function (options) {    this.initValidate()//验证规则函数 必须放在该方法下面 否则会报错,找不到checkForm方法  },})

index.wxml页面

//index.wxml页面<!--pages/biji/biji.wxml--><form bindsubmit="formSubmit" bindreset="formReset"><view class='input_w professional'><text class='left'>投诉电话:</text><view class='input left'><input placeholder='请输入电话号码(必填)' cursor-spacing='20' name='PHONE' value='{{form_info}}'></input></view></view><view class='input_w professional'><text class='left'>客户名称:</text><view class='input left'><input placeholder='请输入客户名称(必填)' cursor-spacing='20' name='NAME' value='{{form_info}}'></input></view></view><view class='input_w professional'><text class='left'>地区选择:</text><view class='input left'><picker bindchange="changeCounty"  value="{{countyIndex}}" range="{{countyList}}" name="AREA">    <view class="picker">     {{default}}    </view>  </picker></view></view>//多行文本框,存在与input框不对齐问题未解决,会的欢迎留言告知,如果觉得不会管只能统一使用一种文本框<view class='textarea_w'><text class='left'>多行文本</text><view class='textarea left'><textarea placeholder='投诉内容(必填)' cursor-spacing='20' name="COMPLAIN_CONTENT" value='{{form_info}}'></textarea></view></view><button class='subClass_btn2' type="primary" formType="reset">重置</button><button class='subClass_btn2' type="primary" formType="submit">派单</button></form>

index.wxss页面 样式页面 没什么好看的

page{font-size: 30rpx;}.left{ float: left}.right{float: right}.index_seach {width: 100%;margin-top: 20rpx;height: auto;margin-bottom: 30rpx;}/* 表单类通用 表单类通用 表单类通用*/.input_w {width: 100%;height: 90rpx;line-height: 90rpx;/* background: lightblue; */}.input_w text {display: block;width: 20%;text-align: center;/* background: red; */}.input_w .input {width: 75%;height: 70rpx;margin-top: 10rpx;border: 1px solid #ccc;box-sizing: border-box;}.input input {margin-top: 10rpx;margin-left: 10rpx;/* background: lightblue; */}.textarea_w {display: block;width: 100%;height: 180rpx;overflow: hidden;}.textarea_w text {display: block;width: 20%;text-align: center;line-height: 90rpx;}.textarea {width: 75%;height: 140rpx;margin-top: 10rpx;border: 1px solid #ccc;padding: 8rpx;/* background: lightblue; */overflow: hidden;}.textarea textarea {width: 100%;height: 130rpx;/* background: lightcoral; */}/* 表单类通用 表单类通用 表单类通用*/.subClass_btn2 {margin-top: 40rpx;width: 80%;height
              
              
            

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎