button WEB控件单击后如何在提交服务器处理前使其禁用刷次再次点击

daihai5460 2009-03-24 11:13:07
问题如题

网上找来资料代码如下但好像无效。。。请高手指点
Button1.Attributes.Add("onclick","<script language='javascript'>function disableButton(){document.getElementById('Button1').disabled=false;}</script>");
...全文
173 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
stonehy520 2009-03-24
  • 打赏
  • 举报
回复
帮顶
Chris_thanks 2009-03-24
  • 打赏
  • 举报
回复

来个绝一点的
Web控件Button1 OnClientClick="return cheatTheClient(this)"

再将新建一个Html控件的button ,“btn2" ,disabled=false,display="none"


function cheatTheClient(btn1){
if(btn1!=null){
btn1.style.display="none";
document.getElementById('btn2').style.display='block';
}
return true;
}

还没测试过
有空写个Demo来测试下
daihai5460 2009-03-24
  • 打赏
  • 举报
回复
楼上的方法
Button1.Attributes.Add("onclick", "this.disabled=true;");
可以是可以,但同时向服务器端发送的请求也被终止了

怎样做才能在不影响向服务器提交请求的前提下禁用BUTTON按钮呢?

或者当用户点击BUTTON后用什么方法刷止重复提交请求
lxf2000104 2009-03-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wang355 的回复:]
document.getElementById('Button1') 里面不使Button1 你执行页面,查看源文件,那里面有个自动生成的ID 你用那个ID 叫做ct00类似的一个就可以了
[/Quote]
最好的做法是:Button1.Attributes.Add("onclick", "this.disabled=true;");
wszhoho 2009-03-24
  • 打赏
  • 举报
回复
document.getElementById('"+Button1.ClientID+"')
lxf2000104 2009-03-24
  • 打赏
  • 举报
回复
Button1.Attributes.Add("onclick"," document.getElementById('Button1').disabled=false;");--能行
下面这个你试试看
Button1.Attributes.Add("onclick"," <script language='javascript'>function disableButton(){document.getElementById('Button1').disabled=false;} disableButton();</script>");

你只是注册一段函数,而没有执行啊。
wang355 2009-03-24
  • 打赏
  • 举报
回复
document.getElementById('Button1') 里面不使Button1 你执行页面,查看源文件,那里面有个自动生成的ID 你用那个ID 叫做ct00类似的一个就可以了

tkscascor 2009-03-24
  • 打赏
  • 举报
回复
不清楚你的意思? 你想要点击服务器控件不刷新??
daihai5460 2009-03-24
  • 打赏
  • 举报
回复
Button按钮为服务器控件而非WEB控件
Chris_thanks 2009-03-24
  • 打赏
  • 举报
回复
测试可以 下面是demo

<div>

<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" OnClientClick="return cheatTheClient(this)" />
<input id="btn2" type="button" value="Button" disabled="disabled" style="display:none;" />
</div>
<script type="text/javascript">
function cheatTheClient(btn1){
if(btn1!=null){
btn1.style.display="none";
document.getElementById('btn2').style.display='block';
}
return true;
}

</script>




protected void Button1_Click ( object sender, EventArgs e ) {
for ( int i = 0; i < 1000000000; i++ ) {
int j = 1;
}
MessageBox ("disable !");
}
public void MessageBox ( string str ) {
string msg = string.Format ( "<script language=\"javascript\" type=\"text/javascript\">alert(\"{0}\");</script>", str );
Page.ClientScript.RegisterStartupScript ( this.GetType (), "Warning", msg );
}

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧