如何使用JavaScript禁用链接按钮

How to disable linkbutton with JavaScript

本文关键字:链接 按钮 何使用 JavaScript      更新时间:2023-09-26

我正在尝试禁用链接按钮,但没有运气!我尝试了所有可能的解决方案,但是我无法限制用户单击该链接按钮。最终用户不应能够单击多个链接按钮。一键点击,就是这样!按钮必须立即关闭!我怎样才能做到这一点?我的按钮在ModalPopupExtender上,它是一个付款按钮,所以想象用户点击该按钮不止一个进行多次付款:(请帮帮我!

我的解决方案类似于这样:

function returnFalse() {
     return false;
}
function disableLinkButton(clientID) {
     document.getElementById(clientID).disabled = "disabled";
     document.getElementById(clientID).onclick = returnFalse;
}

以为我会把我的解决方案扔在那里:

$('a.btn').click(function() {
    var self = $(this);
    setTimeout(function() { self.attr('href', 'javascript:void(0);'); }, 10);
    return true;
});

这在IE10中对我来说效果很好,但我不明白为什么它在旧版本中也不起作用。

如果您使用的是异步回发,并且您的 UpdatePanel 还包含您不希望用户愤怒点击的按钮,以下是我的解决方案,因为 jQuery "live" 函数不起作用:

$(function() {
    function bindButtonDisabler() {
        $('a.btn').click(function() {
            var self = $(this);
            setTimeout(function() { self.attr('href', 'javascript:void(0);'); }, 10);
            return true;
        });
    }
    bindButtonDisabler(); // Initial bind on DOM ready.
    $(window).load(function() { // Ensure re-bind after postback (optional)
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(bindButtonDisabler);
    });
});

希望有人觉得它有用:)

返回 false 应该有效。试试这个:

function disableLinkButton(clientID) {
 document.getElementById(clientID).disabled = "disabled";
 document.getElementById(clientID).onclick = return returnFalse;
}  

你可以尝试这样的事情,给你一个想法:

document.getElementById(clientID).onclick = function() {
   /* process payment */
   this.onclick = function(){};
}

想要这样的东西。

  document.getElementById(clientID).setAttribute("disabled", "true");

我真的很想表明链接被禁用,我稍微修改了@shousper的代码。

$('a.btn').click(function() {
    var self = $(this);
    setTimeout(function() { self.fadeTo("fast", .5).removeAttr("href"); }, 1);
    return true;
});;

我用它来防止多次点击信用卡表格,它工作正常。

你可以这样做:

function disableLink(id) {
   document.all[id].removeAttribute('href');
}​

.HTML:

<a id='link1' href="javascript:disableLink('link1');">Click me</a>

(或)试试这个:

 document.getElementById("#<%=LinkButton.ClientID%>").attr("disabled", true);