jquery 防止重复点击提交

阅读: 评论:0

jquery 防止重复点击提交

jquery 防止重复点击提交

jquery 防止重复点击提交

在项目中常常会使用到点击事件,当此点击事件与后端有交互时 ,或是网络不是很顺畅,用户多次点击事件会产生意想不到的效果,导致用户体验差;针对重复点击事件,笔者也曾经遇到过,在此,分享 jquery 防止重复点击提交 的解决方案。

方法一: 使用 css 禁用属性 —— disable

该方法只能点击一次,若想再次点击需要页面重新进行了加载或者跳转;

<form action="/login" method="post"><input type="text" name="username" /><input type="password" name="password" /><input type="submit" id="submitBtn"  value="登录" />
</form><script>$(function(){$('#submitBtn').on('click‘,function(){$(this).attr('disabled',true); //点击后就禁用,若想再次点击需刷新页面;$(this).val('登录中...');  //此处设置 value 值给以提示this.form.submit();});});
</script>
方法二: 使用 jquery 中 one() 方法

同样是上面 Html 例子,也是只可点击一次;再次点击需要页面重新进行了加载或者跳转;该方式是将绑定 on 方法 改为 one 方法 ,如下:

<script>$(function(){$('#submitBtn').one('click‘,function(){$(this).attr('disabled',true); //点击后就禁用,若想再次点击需刷新页面;$(this).val('登录中...');  //此处设置 value 值给以提示this.form.submit();});});
</script>
方法三: 针对 ajax 请求方式

异步请求更好的适应用户的体验,为防止多次提交,可在提交前做处理;

$(function () {$('#submitBtn').click(function () {//1.先进行表单验证//......//2.异步提交$.ajax({url: url+'/login',data: $('form').serialize(),type: 'post',beforeSend: function () {//3.设置提交按钮失效,以实现防止按钮重复点击$(this).attr('disabled', true);//4.给用户提示$(this).val('登录中...');},complete: function () {//5.提交完成后按钮重新设置有效$(this).removeAttr('disabled');},success: function(data){if (data === 'ok') {alert('登录成功!');//做逻辑处理//......} else {alert('登录失败,请重新登录!');}}}); });
});

以上三种方法为个人总结,当然还有其它方式 防止重复点击提交 ;再此就不在叙述,愿各位可以参考,也可以活动一个脑细胞,自己设计一种方式,可以在下方评论给予以分享!

本文发布于:2024-01-27 19:50:14,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17063562132282.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:jquery
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23