防止双重提交

时间:2014-05-19 13:52:36

标签: python google-app-engine webapp2

我使用GAE作为具有各种提交href按钮的应用程序,并使用javascript提交。

我正在努力弄清楚如何防止多次提交或双击。我已经尝试了各种方法来使用javascript禁用或删除href。

但我在想是否有可能在后端阻止这种情况的方法。

您建议我使用哪种方法?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

您可以使用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