收藏
回答

关于form表单,有没有办法完美防止重复提交?

写了一个form表单,利用submit将数据提交到数据库,但是在测试时候发现,无论怎么样搞,都无法避免重复提交的问题,想请教下各位大佬有没有什么更好的办法?

下面是我的js部分代码,可以看到,两个数据的提交时间仅仅间隔不到0.2秒。


onSubmit:function(e){
    var nowTime = new Date();
    if(nowTime - this.data.tapTime < 60000){
      wx.showToast({
        title: '您的操作过于频繁 请稍后重试',
        icon: "none",
        mask: true,  //防触底发生重复提交
        duration: 2000,
      })
      return;
    } else if (e.detail.value.msgInput.length < 10){
      wx.showToast({
        title: '请输入不少于10个字的内容',
        icon: "none",
        mask: true,  //防触底发生重复提交
        duration: 1500,
      })
      return;
    } else {
    // console.log(e.detail.value.msgInput);
      message.add({  //存入数据库
        data: {
          imageSrc: this.data.imageSrc,
          name: this.data.name,
          text: e.detail.value.msgInput,
          createTime:db.serverDate(),
        }
      }).then(res => {
        wx.showToast({  //提示弹窗
          title: "留言成功",
          icon: "success",
          success: res2 => {
            this.setData({
              textValue: "" ,//让输入框内容清空
              tapTime: nowTime,
            });
            this.getData(); //调用刷新页面函数
          }
        })
      })
    }
  },
回答关注问题邀请回答
收藏

2 个回答

  • 拾忆
    拾忆
    2020-08-20

    百度下 防抖函数

    2020-08-20
    有用 1
    回复 1
    • 黄勇
      黄勇
      2020-08-20
      3Q。辛苦大佬这么晚!
      2020-08-20
      回复
  • 淡定
    淡定
    2020-08-20
    2020-08-20
    有用
    回复
登录 后发表内容
问题标签