javascript - 原型(prototype): How to prevent button pushing until response is made

标签 javascript html prototypejs

我正在使用这段代码在网页上制作文本按钮

<a href='#' onclick="new Ajax.Updater('history', '/responsesG', {parameters: {name: '%s', port: '%s', profil: '201', action: 'profile'}, 
    insertion: Insertion.Top}
        ); return false;">Do something</a>

因为这是一个昂贵的调用,我想阻止用户多次单击它,因为它进行异步调用,并且他们会得到例如同一件事的 3 个响应(因为响应持续 3 到 5 秒),我尝试了选项

asynchronous: false

同样成功(失败)。我该怎么做?

编辑:

<a href="#" onclick="diagnostika('mac_adresa');return false;">-Mac address</a>
<script type="text/javascript">
function diagnostika(akcija) {
            if(!this.clicked) {
                this.clicked = true;
                button = this;
                new Ajax.Updater('history', '/responsesG', {
                    parameters: {
                        name: '%(name)s',
                        port: '%(port)s',
                        action: akcija},
                    insertion: Insertion.Top,
                    onComplete: function() {
                    button.clicked = false;}});}
                return false;};
</script>

这就是我最终实现的。

最佳答案

为您的链接提供唯一的 ID 属性,例如:

<a href="#" id="foo">Do something</a>

然后在 JavaScript 中您可以执行以下操作:

$("foo").observe("click", function() {
  this.disabled = true;
  new Ajax.Updater("history", "/responsesG",
                   { parameters: { name: "%s",
                                   port: "%s",
                                   profile: "201",
                                   action: "profile" },
                   insertion: Insertion.Top });
  return false;
});

关于javascript - 原型(prototype): How to prevent button pushing until response is made,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/939915/

相关文章:

javascript - 未定义的组件如何在 Vue.js 中工作 - Vue.js + Pug

javascript - 有没有办法滚动到 react 可排序树中的特定子项?

php - PHP中Session不存储变量?

jquery - jQuery 还是 Prototype 更好?

javascript - IE 显示 "decimal"而不是 "comma"

javascript - 如何定位灯箱/div 弹出窗口,使其位于 iframe 中视口(viewport)的中心

javascript - 在 Android 的 WebView 中通过 javascript 捕获页面重定向

javascript - NightwatchJS : How to check if attribute is not present?

javascript - bootstrap-3 更改导航栏折叠时的过渡属性

css - 样式元素 'input[type="提交“]' and ' 按钮”与其他元素具有不同的宽度