写了一个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(); //调用刷新页面函数
}
})
})
}
},
百度下 防抖函数