我的要求就是这个。 以下步骤: -
以下是我用于按钮的代码。
<asp:Button ID="btn1" OnClientClick="this.disabled=true;return Confirm();" Text="Testing" runat="server" />
但不是我期望的,它是禁用按钮并提示确认,但如果用户点击取消则按钮保持为禁用。
答案 0 :(得分:1)
无需禁用该按钮。如果没有单击确认框中的按钮,用户将无法执行任何操作。只需使用它。
OnClientClick="return confirm('Are you sure you want to Submit?');"
答案 1 :(得分:1)
你已将其标记为jQuery,因此我建议使用jQuery定义一个事件处理程序,与OnClientClick
属性分开:
<asp:Button runat="server" Text="Testing" CssClass="confirm-button" />
<script type="text/javascript">
jQuery(function($) {
$('.confirm-button').click(function(event) {
$(this).attr('disabled', true);
if (!confirm('Are you sure?')) {
event.preventDefault();
$(this).attr('disabled', false);
}
});
});
</script>
然而,正如@Shoban指出的那样,没有必要禁用按钮,因为因为confirm
是模态的。confirm
是模态的,所以只有在解决confirm
提示后,需要禁用按钮。因此,如果confirm
的响应为true
,则仅禁用该按钮,逻辑可能会更清晰:
$('.confirm-button').click(function(event) {
if (confirm('Are you sure?')) {
$(this).attr('disabled', true);
}
else {
event.preventDefault();
}
});
答案 2 :(得分:0)
在OnClientClick中尝试此操作 -
this.disabled=true;
var result = Confirm();
this.disabled = result;
return result;
如果您尝试在按钮上停用回发,请拨打return Confirm();
答案 3 :(得分:0)
仅在单击“确定”时禁用该按钮。
var customConfirm = function(){
var proceed = confirm("are you sure");
if(proceed){
// disable button while server is posting back
}
return proceed;
}