微信小程序提交表单清空输入框

这里简单记录两种方法:
一、在input中绑定对象value,在提交成功后的回调中重新设置值为空。个人觉得这种方式适合表单数据比较少。
wxml代码

<form bindsubmit="submitForm">
    <input name="title"  maxlength="20" value="{{title}}" />
    <input name="txt"  value="{{txt}}" />
    <button  formType="submit">提交</button>
<form>

js代码

submitForm: function(e) {
  var that = this;
  var formData = e.detail.value;
  wx.request({
    url: apiurl,  //你要提交的接口
    data: formData,
    header: { 'Content-Type': 'application/json' },
    success: function (res) {
      if (res.data.status == 200) {
        wx.showToast({
          title: '提交成功',
        })
        that.setData({
          title: '',
          txt: ''
        })
      }
    }
  })
}

二、通过表单reset重置事件,不过这种方式不能直接使用form表单为我们提供的submit方法中的 e.detail.value提交数据。所有我们要利用input的bindinput或bindblur事件来获取表单数据,将数据setData保存下来。然后就可以用formReset方法将保存的数据传到后台。但是在提交之前要注意的一点,就是要检查下数据是否为空和数据格式是否符合规定。

<form bindreset="formReset">
  <input name="title" data-name="title" maxlength="20" bindblur="getData" />
  <input name="txt" data-name="txt" bindblur="getData" />
  <button  formType="reset">提交</button>
</form>

js代码

data:{
    cont:{
      title: "",
      txt: ""
    }
  },
  getData:function(e){
    //console.log(e)
    var name = e.currentTarget.dataset.name;
    this.data.cont[name] = e.detail.value;
    this.setData({
      cont: this.data.cont
    })
    console.log(this.data.cont)
  },
  formReset:function(e){
    //在此将保存的表单数据传递给后台
  }
发布了21 篇原创文章 · 获赞 1 · 访问量 7809

猜你喜欢

转载自blog.csdn.net/eva_feng/article/details/105119955