asp.net 如何禁用链接按钮与JavaScript

2w3kk1z5  于 2023-10-21  发布在  .NET
关注(0)|答案(6)|浏览(125)

我试图禁用一个链接按钮,但没有运气!我尝试了所有可能的解决方案,但是我不能限制用户点击该链接按钮.最终用户不应能够多次单击链接按钮。一个点击,这是它!巴顿必须马上离开!我如何才能做到这一点?我的按钮是在ModalPopupExtender上,它是一个付款按钮,所以图像用户点击该按钮,多个进行多次付款。
我的解决方案与此类似:

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

6ljaweal1#

我想把我的解决方案说出来:

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

这在IE10中对我来说很好,但我不明白为什么它在旧版本中也不起作用。
如果你使用的是jQuery回发,并且你的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);
    });
});

希望有人觉得有用:)

qltillow

qltillow2#

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

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

hyrbngr73#

你可以尝试这样的东西,给你一个给予的想法:

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

flvlnr444#

想要这样的东西。

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

7z5jn7bk5#

我真的很想显示链接是禁用的,我稍微修改了@ shoulders的代码。

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

我用这个来防止信用卡表单上的多点点击,它工作得很好。

jfgube3f

jfgube3f6#

你可以这样做:

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

超文本标记语言:

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

(or)试试这个:

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

相关问题