禁用/更改按钮文本,直到点击过程完成
Disable /change button text until click procedure complate?
我在更新面板中的web表单中有asp按钮(runat="server"(。
<asp:UpdatePanel ID="UpdatePanelDoIt" runat="server">
<asp:Literal ID="LiteralDoIt" runat="server"></asp:Literal>
<asp:Button ID="ButtonDoIt" runat="server" Text="DoIt"/>
</asp:UpdatePanel>
当我点击这个按钮时,它会起作用。
Private Sub ButtonDoIt_Click(sender As Object, e As EventArgs) Handles ButtonDoIt.Click
me.ButtonDoIt.Enabled=False
me.ButtonDoIt.Text="Please wait..."
bla bla bla bla 'it takse one or two minute
LiteralDoIt.Text="<a href= bla bla"
bla bla bla bla
'finish process
me.ButtonDoIt.Enabled=true
me.ButtonDoIt.Text="Process Complete!"
End Sub
但单击此按钮时,我的按钮未被禁用或未更改文本
只有当流程完成时,我才能看到"流程完成"。
在windows窗体中,我总是在更改按钮文本行后使用"application.doevent"。我在窗体上看到了更改。
但是asp.net不允许这样做。(我使用vb.net(
我该怎么办?
非常感谢您的关注。
试试这个
HTML
<input type="submit" id="btnid" value="Save" />
JS
$(function(){
$('#btnid').click(function(){
$(this).val('processing...');
$(this).prop('disabled',true);
setTimeout(function(){$('#btnid').val('finished');$('#btnid').removeAttr('disabled');},5000);
});
});
演示此处
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Disable Button and Change Text of button</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="sc" runat="server" EnablePartialRendering="true">
</asp:ScriptManager>
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
function BeginRequestHandler(sender, args) {
document.getElementById('<%= lblMessage.ClientID %>').innerText = "Processing...";
args.get_postBackElement().disabled = true;
}
</script>
<asp:UpdatePanel ID="updpnlSubmit" runat="server">
<ContentTemplate>
<asp:Button ID="btnSubmit" Text="Submit" runat="server" OnClick="btnSubmit_Click" />
<asp:Label ID="lblMessage" runat="server"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
</form>
</body>
</html>
在源页面中添加脚本标记。更改代码中按钮的Id。您可以禁用该按钮,直到进程完成执行。
您可以使用ajax,或者您需要估计一个时间并像@Kiranramchadran那样做。
查看以下在VB.NET 中使用AJAX的示例
类名
Public Class NameHere
VB Page_Load
Ajax.Utility.RegisterTypeForAjax(GetType(NameHere), Me.Page)
VB函数
<Ajax.AjaxMethod()> _
Public Function ButtonClick() ...
Javascript
$('#btn').click(function(){
// Here you can disable your button
// Call your ajax function
NameHere.ButtonClick();
});
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 为effect Composer创建GodRays效果过程
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 多个单选按钮组相互干扰
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- Javascript按钮下拉列表
- jquery试图按名称获取按钮位置
- 漂亮照片图片库中的Facebook赞按钮
- 扩展移相器按钮类不工作
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 单击按钮以等待单击按钮
- 剑道UI内联编辑:如何在点击其他按钮时隐藏按钮
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 如何从querySelectorAll中获取按钮类型
- 表单操作过程中出现后退按钮问题
- JavaScript按钮,停止图像加载过程
- Javascript - 记录用户在整个访问过程中按下给定按钮的时间
- 提交过程中的“消防按钮”点击事件
- 需要了解Web进程背后的过程与HTML, PHP, Javascript,通过现有的HTML按钮到PHP函数问题
- 禁用/更改按钮文本,直到点击过程完成