服务器控件的onclick 和 onclientclick事件的迷惑

攀登者ing 2010-08-12 12:25:33
aspx页面上我放了一个div(html),属性设置为display:none,页面上还有一个button(runat=server),它的onclick事件要执行一个功能,当然势必要引发页面重新加载,它的onclientclick事件里面,我写了段脚本代码,实现这个div的属性display:block,并且使用了setTimeout,控制它刚显现出来的时候背景颜色变换一下(引起浏览者注意),问题出来,当我点击按钮的时候,div背景色还没来得及变化,就消失了???/
该怎么做呢??
...全文
309 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
shellwin 2010-08-12
  • 打赏
  • 举报
回复
学习了
Adechen 2010-08-12
  • 打赏
  • 举报
回复
onclientclick调用前台的事件
onclick执行后台点击事件
字面上也好理解
wwfgu00ing 2010-08-12
  • 打赏
  • 举报
回复
先执行onclientclick事件,然后执行onclick事件
wuyq11 2010-08-12
  • 打赏
  • 举报
回复
OnClientClick必须return true 才会触发服务器事件
OnClientClick="this.value='请稍侯...';this.disabled=true;return true;"
function Set(id) {
var el = document.getElementById(id);
setTimeout("document.getElementById('" + id + "').disabled = false;", 5000);
}
porschev 2010-08-12
  • 打赏
  • 举报
回复
onclientclick调用脚本函数
onclick执行后台点击事件

onclientclick先于onclick执行
继续泛泛 2010-08-12
  • 打赏
  • 举报
回复
chen_ya_ping 2010-08-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 shengforever 的回复:]
aspx页面上我放了一个div(html),属性设置为display:none,页面上还有一个button(runat=server),它的onclick事件要执行一个功能,当然势必要引发页面重新加载,它的onclientclick事件里面,我写了段脚本代码,实现这个div的属性display:block,并且使用了setTimeout,控制它刚显现出来的时候背景颜色变换一下(引起浏览者注意),问……
[/Quote]
如果一个button,你定义了onclientclick,又定义了click事件,你点击了button,会先做clientclick事件,然后做click事件。
zhifengfeng 2010-08-12
  • 打赏
  • 举报
回复
onlick时发生postback,执行后台代码。
onclientclick,就是执行javascipt代码,不会发生postback.

简单说,onclick:执行C#代码, onclientclick:执行javascript代码。

onclientclick先于onclick发生,一般执行脚本

onclientclick() 控制客户端提交。
例如可以使用confirm('是否执行?')

return true:执行onlick事件。
return false:什么都不干。

再得来说:
OnClick是button的服务器端事件

OnClientClick是button的客户端事件

一般我们用 OnClientClick验证我们的提交数据,但是这个一定要返回ture或者false,即一定要加上return,否则OnClick失效。当返回false时OnClick服务器端事件才被中止,当你的js验证有错误,也会跳过验证,直接执行服务器端事件OnClientClick。为了避免这样的错误,可以考虑用服务端验证这样就省去了OnClientClick事件,就不用考虑和OnClick的冲突了
ljm19891118 2010-08-12
  • 打赏
  • 举报
回复
学习了。。。
以前只知道OnClientClick是调用客户端的JS函数, 而OnClick用于调用后台服务器端的函数
后面的哪个先执行就不清楚了
Peter200694013 2010-08-12
  • 打赏
  • 举报
回复
如果onclientclick对应脚本没有返回false,就会马上执行onclick对应处理

你的div只是要改变一下,然后就变回来?

建议:onclentclick对应的脚本返回一个confirm啊...
zxqiangwhere 2010-08-12
  • 打赏
  • 举报
回复
1、OnClientClick是调用客户端的JS函数, 而OnClick用于调用后台服务器端的函数
2、OnClientClick先于OnClick执行 ,

OnClientClick执行完以后,立即执行OnClick
nlx0201 2010-08-12
  • 打赏
  • 举报
回复
这个就要看你的具体需求了。。。
攀登者ing 2010-08-12
  • 打赏
  • 举报
回复
onclientclick onclick事件怎么执行 执行顺序我都知道 现在问题是要实现这个功能该如何做呢

62,074

社区成员

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

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

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

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