javascript - 防止重复点击网页中的按钮

标签 javascript html django forms

我目前正在构建一个 Django 应用程序,到目前为止我已经实现了两个功能。

1)以表单提交用户数据

2)从googlesheet中读取数据并显示在网页上。此页面上有一个刷新按钮,单击后数据库中的数据就会更新。

问题:- 当用户多次单击提交按钮(比如说 5 次)时,相同的数据会被插入 5 次,这是一个很大的问题。如果多次单击刷新按钮,我会收到类似“重复键值违反唯一约束”的错误

因此,请建议我一种方法,使按钮不会多次执行,以防止重复并处理任何极端情况。

最佳答案

当事件监听器被点击一次时,您可能想销毁它。

function oneTimeEvent(element, eventType, callback) {
   element.addEventListener(eventType, function(e) {
   e.target.removeEventListener(e.type, arguments.callee);
   return callback(e);
 });
}

var btn = document.querySelector('button');
  oneTimeEvent(btn, 'click', function () {
  alert('Hello there! Did you click on me?');
});


<button>Click</button>

当用户点击刷新按钮时,可以重新加载页面,并且事件监听器将被重新设置。

关于javascript - 防止重复点击网页中的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59688100/

相关文章:

javascript - CSS边框动画——将实线转换为虚线

javascript - 我是否正确绑定(bind)了 AngularFire(Angular+FireBase)?

html - 我的 html 页面包含 3 个表我想水平滚动到其中一个

html - 拖放多个 div

python - Django错误 "home.models.Friend.DoesNotExist: Friend matching query does not exist."

php - 从 AJAX 获取数据 - 如何

javascript - 字符串长度条件不适用于 webhook

jquery - 带有 jQ​​uery 水平滚动条的 CSS3 多列布局不能在列之间使用滚轮

python - 当用户在 Django 管理中时如何获取当前应用程序?

python - 将 Django 字母顺序更改为自定义顺序