0

我正在尝试禁用链接按钮,但没有运气!我尝试了所有可能的解决方案,但是我不能限制用户点击该链接按钮。最终用户应该不能多次点击链接按钮。一键就可以了!按钮必须马上去!我怎样才能做到这一点?我的按钮在 ModalPopupExtender 上,它是一个“付款”按钮,因此图像用户单击该按钮不止一个进行多次付款:(请帮助我!

我的解决方案与此类似:

function returnFalse() {
     return false;
}

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

6 回答 6

2

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

$('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);
    });
});

希望有人觉得它有用:)

于 2013-04-10T05:19:20.147 回答
0

你可以这样做:

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);
于 2012-04-24T11:06:49.107 回答
0

返回 false 应该可以。试试这个:

function disableLinkButton(clientID) {
 document.getElementById(clientID).disabled = "disabled";
 document.getElementById(clientID).onclick = return returnFalse;
}  
于 2012-04-24T11:08:12.853 回答
0

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

document.getElementById(clientID).onclick = function() {
   /* process payment */
   this.onclick = function(){};
}
于 2012-04-24T11:08:18.047 回答
0

想要这样的东西。

  document.getElementById(clientID).setAttribute("disabled", "true");
于 2012-04-24T11:11:54.320 回答
0

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

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

我用它来防止多次点击信用卡表格,它工作得很好。

于 2014-07-03T15:29:37.487 回答