关于表单提交按钮多次点击多次触发的解决方法

本文介绍了一种有效防止表单重复提交的方法。通过在按钮点击时添加一个特定的class,并检查该class来阻止重复操作,这种方法既简单又实用。

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

今天在做表单提交的时候遇到一个问题,我用ajax去提交表单,使用一个submit类型的input去触发提交时间。然后就出现一个问题,快速点击按钮会触发多次提交。然后我就在点击的时候将input置为disable,在提交结束后再取消disable,但是没有效果。查了下资料发现这个方法貌似对input无效。

最后实在没办法,我就换了一个很原始的方法,在按钮下面加一个span标签,背景跟按钮一样。然后再出发点击事件时先把按钮隐藏,然后再ajax异步提交完成之后再显示按钮。很好的避免多次点击的问题,但是这个办法是在太麻烦了。像我这样的懒人实在不想用这种方法。(如果是做bug排除的话,还会涉及到样式方面的问题)。

最后在老大给了我提了一个方法,在点击的时候给按钮添加一个class:clicking。触发点击事件时判断这个按钮是否有这个class有的话就直接return false,在ajax提交结束后再去掉这个class。这个办法看起来是治标不治本,但是至少人畜无害,省了很多无谓的操作。还是挺好用的。

后面我自己做了几次试验,发现这个办法还能用在冒泡事件上:点击子节点触发父节点的点击事件等等。

如果发现按钮的disable不可用是可以试试这个办法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值