asp.net button的OnClientClick事件
大致是这个意思:<divid="test"></div><asp:buttonid="btn"text="test"onClientClick="returntest()...
大致是这个意思:
<div id="test"></div>
<asp:button id="btn" text="test" onClientClick="return test() onclick="btn_click"></asp:button>
<script>
function test()
{
alert("test");
document.getElementById("test").innerHTML="showtest";
}
</script>
执行之后alert可以显示出来,但是div的值不改变 如果要是设置div display属性的话是闪一下就没了 但如果把return 的值改为false的话就可以显示,但是那样就不执行onclick事件了 该怎么解决啊。。。。。 展开
<div id="test"></div>
<asp:button id="btn" text="test" onClientClick="return test() onclick="btn_click"></asp:button>
<script>
function test()
{
alert("test");
document.getElementById("test").innerHTML="showtest";
}
</script>
执行之后alert可以显示出来,但是div的值不改变 如果要是设置div display属性的话是闪一下就没了 但如果把return 的值改为false的话就可以显示,但是那样就不执行onclick事件了 该怎么解决啊。。。。。 展开
展开全部
我给你解释一下你遇到的现象:
如果你的test()函数最后不写return false;那么在alert显示出来,你点掉以后,表单紧接着就会提交,即页面回发,从而执行服务器端事件onclick。由于页面回发了,也就相当于页面重新加载了一次,所以要是设置div display属性的话是闪一下就没了。
如果加上return false,表单就不提交,所以你js的效果可以出来,但服务器事件就不执行。
非web服务器控件没有状态管理,所以js设置的东西页面回发是不可以保留的。
看你想实现什么功能,我有办法帮你解决。
如果你的test()函数最后不写return false;那么在alert显示出来,你点掉以后,表单紧接着就会提交,即页面回发,从而执行服务器端事件onclick。由于页面回发了,也就相当于页面重新加载了一次,所以要是设置div display属性的话是闪一下就没了。
如果加上return false,表单就不提交,所以你js的效果可以出来,但服务器事件就不执行。
非web服务器控件没有状态管理,所以js设置的东西页面回发是不可以保留的。
看你想实现什么功能,我有办法帮你解决。
追问
就是在一个div里放置了几个TextBox,最开始让div隐藏 ,页面上有一个datalist,当点击对应的修改按钮时,显示div,并给TextBox赋值(为对应行上的数据)
追答
这用DataList的ItemTemplate和EditItemTemplate不就解决了吗?第一个模板里放Label绑定,第二个模板里放TextBox绑定。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把这两句调换顺序看看呢?如下
document.getElementById("test").innerHTML="showtest";
alert("test");
document.getElementById("test").innerHTML="showtest";
alert("test");
追问
试了 alert("test")能够出来 另外,如果是用html控件的话就可以显示,其实用asp.net控件也显示了 只是显示完之后又自动消失了 搞不懂。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你试试另外的事件绑定的方法看,在js里面写事件源
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询