如何将按钮点击后禁用

本文介绍了使用jQuery在网页中实现按钮禁用的方法,以防止用户在表单提交过程中重复点击按钮导致的数据重复提交问题。提供了三种解决方案:直接操作按钮状态、引入辅助按钮触发回发及使用setTimeout延迟禁用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.按钮的id为btnzhuce
==》 控制按钮为禁用:  
$("#btnzhuce").attr({"disabled":"disabled"});
==》控制按钮为可用
 $("#btnzhuce").removeAttr("disabled");//将按钮可用


2.
<script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>
<script type="text/javascript">
function enableButton(flag) {
    $("#btnTest").attr("disabled", flag? "" : "disabled");
}
$(document).ready(
    function () 
        $("#btnTest").click(
            function () {
                enableButton( false );//点击后禁用
                            }
        );
     }
);
</script>
然而事实很遗憾的告诉我们这种方式行不通:页面根本不会回发。于是,我们不得不寻找其他方式。
二、让回发的按钮退居二线:
<script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>
<script type="text/javascript">
function enableButton(flag) {
      $("#btnTest").attr("disabled", flag? "" : "disabled");
}
$(document).ready(
    function () {
        $("#btnTest").click(
           function () {
               enableButton(false);
               $("#btnTest2").click();//禁用掉自身并调用真正触发回发的按钮的click事件
              }
         );
    }
);
</script>
<input type="button" value="点击后禁用" id="btnTest" />
<asp:Button ID="btnTest2" Text="点击后禁用" runat="server" OnClick="Test" style="display:none"/>
这样一来我们的目的达到了。最后再介绍一种方式:三、利用setTimeout实现
<script type="text/javascript" src="Scripts/jquery-1.4.1.min.js"></script>
<script type="text/javascript">
function enableButton(flag) {
      $("#btnTest").attr("disabled", flag? "" : "disabled");
}
$(document).ready(
    function () {
        $("#btnTest").click(
            function () {
                setTimeout(function () 
                enableButton(false);
            },
            50);
        }
        );
    }
);
</script>
</head>
<asp:Button ID="btnTest" Text="点击后禁用" runat="server" OnClick="Test"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值