微信小程序的form表单提交

获取input有两种方法:

第一:bindsubmit方法

注意:

1.使用form里面定义bindsubmit事件

2.bindsubmit事件需要配合button里面定义的formType="submit" 操作

3.设置input的name值来获取对应的数据

html 复制代码
<form bindsubmit="formSubmit">
	<input type="text" name="name" class="content" placeholder="请输入司机姓名" />
	<input type="text" name="plateNo" class="content" placeholder="请输入车牌号" />
	<button class="wehx-foot-btn" hover-class="wehx-button_hover" formType="submit">确定</button>
</form>

通过e.detail.value获取数据, 其中包含input的value值

javascript 复制代码
formSubmit: function (e) {
    console.log(e.detail.value)
    let name= data.detail.value.name
    let plateNo= data.detail.value.plateNo;
}

第二种:bindinput方法

注意:

1.在input框内使用bindinput属性的方式定义事件名称

2.事件是光标移动发生数据改变,数据自动获取

html 复制代码
<input type="text" bindinput='getInputName'  name="name" class="content" placeholder="请输入司机姓名" />

通过e.detail获取数据, 其中包含input的value值、光标的位置cursor

javascript 复制代码
getInputName:function(e){
	console.log(e.detail)
	// 获取到input的值
	let name = e.detail.value;
	// 获取到光标的位置
	let local = e.detail.cursor;
}

参考:微信小程序之 获取input框输入值

form表单提交

html 复制代码
<form bindsubmit="formSubmit" bindreset="formReset">
  <view class="section section_gap">
    <view class="section__title">是否公开信息</view>
    <switch name="isPub" />
  </view>
 
  <view class="section">
    <view class="section__title">手机号</view>
    <input name="phone" placeholder="手机号" />
  </view>
  <view class="section">
    <view class="section__title">密码</view>
    <input name="pwd" placeholder="密码" password/>
  </view>
  <view class="section section_gap">
    <view class="section__title">性别</view>
    <radio-group name="sex">
      <label>
        <radio value="男" checked/>男</label>
      <label>
        <radio value="女" />女</label>
    </radio-group>
  </view>
  <view class="btn-area">
    <button formType="submit">提交</button>
    <button formType="reset">重置</button>
  </view>
</form>
<view wx:if="{{isSubmit}}">
  {{warn ? warn : "是否公开信息:"+isPub+",手机号:"+phone+",密码:"+pwd+",性别:"+sex}}
</view>
css 复制代码
.section{
  display: flex;
  flex-direction: row;
  margin: 20rpx;
}
.section view{
  margin-right: 20rpx;
}
.btn-area{
  margin: 20rpx;
}
button{
  margin: 10rpx 0;
}
javascript 复制代码
let app = getApp();
Page({
  data: {
    isSubmit: false,
    warn: "",
    phone: "",
    pwd: "",
    isPub: false,
    sex: "男"
  },
  formSubmit: function (e) {
    console.log('form发生了submit事件,携带数据为:', e.detail.value);
    let { phone, pwd, isPub, sex } = e.detail.value;
    if (!phone || !pwd) {
      this.setData({
        warn: "手机号或密码为空!",
        isSubmit: true
      })
      return;
    }
    this.setData({
      warn: "",
      isSubmit: true,
      phone,
      pwd,
      isPub,
      sex
    })
  },
  formReset: function () {
    console.log('form发生了reset事件')
  }
})

参考:微信小程序-form表单提交

注意几个点:

实现过程分为以下几步

1.给 form 表单设置 bindsubmit 属性。

2.给所有 input / check等等项 设置 name 属性 (否则无法获取值)

3.给按钮设置 form-type="submit",与第一步 form 设置的 bindsubmit 属性值 绑定

4.编写按钮触发的函数 (第一步与第三步共同绑定的)

相关推荐
前端 贾公子11 小时前
小程序蓝牙打印探索与实践(上)
小程序
拙慕JULY13 小时前
小程序返回 base64 文件报错
开发语言·javascript·小程序
dh1312225052513 小时前
按月季度销售业绩核算小程序
小程序·销售小程序·绩效小程序·业绩统计小程序·业绩核算小程序
拙慕JULY14 小时前
微信小程序自定义标题背景色
微信小程序·小程序
前端 贾公子16 小时前
小程序蓝牙打印探索与实践(下)
小程序·apache
00后程序员张16 小时前
Jenkins 自动上传 IPA 到 App Store 把发布步骤融入 CI/CD
android·ios·小程序·https·uni-app·iphone·webview
万岳科技系统开发19 小时前
骑手配送系统如何支持外卖与跑腿一体化运营
大数据·前端·小程序
2501_9159090619 小时前
iOS IPA文件反编译与打包操作方法详解
android·ios·小程序·https·uni-app·iphone·webview
克里斯蒂亚诺更新1 天前
微信小程序使用vant4 weapp自定义菜单 但是弹出层却被菜单遮挡的解决办法
微信小程序·小程序·notepad++
静Yu1 天前
从一个九宫格素材小程序,看轻量工具产品该如何优化体验
前端·微信小程序