【问题标题】:Prevent double submits防止重复提交
【发布时间】:2014-05-20 00:10:20
【问题描述】:

我正在将 GAE 用于具有各种提交 href 按钮的应用程序,并使用 javascript 提交。

我很难弄清楚如何防止多次提交或双击。我尝试了各种方法来禁用或删除使用 javascript 的 href。

但我正在考虑是否有办法在后端防止这种情况发生。

你会推荐我使用什么方法?

【问题讨论】:

    标签: python google-app-engine webapp2


    【解决方案1】:

    在服务器端阻止它并非易事 - 第二次调用可能会遇到不同的实例。所以你需要处理会话。代码会很快变得复杂。

    我建议在通话前禁用该按钮,并在响应时重新启用它。

    【讨论】:

      【解决方案2】:

      提交表单时,您可以使用 javascript 禁用页面上的所有提交按钮。也许是这样的:

      document.forms[0].addEventListener('submit', function() {
          var btns = document.querySelectorAll('input[type="submit"]');
          for (var i = 0; i < btns.length; i++) {
              btns[i].disabled = 'disabled';
          }
      });
      

      如果您还需要禁用其他元素,您可以修改querySelector。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-04
        • 2016-12-07
        • 1970-01-01
        • 2022-07-12
        • 1970-01-01
        相关资源
        最近更新 更多