微信小程序收集表单项数据的方式

本文介绍了在微信小程序中如何收集表单项数据,对比了两种方式:一是通过设置唯一id并结合bindinput方法;二是利用data-key=value来定义多个数据键值,两者在登录场景中的实现和差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在vue中表单项可以通过v-model的方式达到数据的双向绑定的效果,但是在微信小程序中没有这种方式,我们只能通过h5的方式来收集表单项的数据

第一种方式(id)

login.wxml中:
定义唯一的值id
bindinput方法可以监听到当前输入框的值

<text class="tit">手机号码</text>
<input bindinput="handleInput" id="phone" type="text" placeholder="请输入手机号码"/>
<text class="tit">密码</text>
<input bindinput="handleInput" id="password" type="password" placeholder="请输入密码"/>

login.js中

data: {
    phone:'', //用户账号
    password:'', //用户密码
  },

  // 表单项事件的回调
  handleInput(event){
    let type=event.currentTarget.id //根据表单定义的id情况,id只有两种情况phone或者password 适合传唯一值
    // 更新数据
    this.setData({
      [type]:event.detail.value // event.detail.value可以获取到输入的值,根据点击的表单更新表单里面对应的数据,type应该是变量,所以应该用[]
    })
  },

第二种方式(data-key=value)

这里使用data-type=""来定义 data-key可以定义多个,而id只可以定义唯一的一个
login.wxml:

<view class="input-item">
        <text class="tit">手机号码</text>
        <input bindinput="handleInput"  type="text" data-type="phone" placeholder="请输入手机号码"/>
      </view>
      <view class="input-item">
        <text class="tit">密码</text>
        <input bindinput="handleInput"  type="password" data-type="password"  placeholder="请输入密码"/>
      </view>

login.js中,其实和id的使用方式是差不多的,只不过获取data-key的方式有些差别

data: {
    phone:'', //用户账号
    password:'', //用户密码
  },

  // 表单项事件的回调
  handleInput(event){
    let type=event.currentTarget.dataset.type  data-key=value //适合传多个值    // 更新数据
    this.setData({
      [type]:event.detail.value //根据点击的表单更新表单里面对应的数据,type应该是变量,所以应该用[]
    })
  },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值