日期:2014-05-18  浏览次数:20587 次

js脚本能发触发一个服务器端控件的事件呢?
在asp.net中页面中,能否用js脚本触发一个服务器端控件的事件呢,如 <asp:Button   ID= "btnSubmit "   runat= "server "   Text= "提交 "   OnClick= "btnSubmit_Click "   />
这个按钮的onclick事件。

就像点击服务器端按钮执行的效果一样。

敬候高手解答。多谢

------解决方案--------------------

------解决方案--------------------
document.all.button.click();
------解决方案--------------------
document.form.btnSubmit.click();
------解决方案--------------------
document.getElementById( "btnSubmit ").click
------解决方案--------------------
恩,是可以的
------解决方案--------------------
前台的 <asp:Button ID= "btnSubmit " runat= "server " Text= "提交 " OnClientClick= "checkform() " OnClick= "btnSubmit_Click " /> 就这样可以调用,用OnClientClick

前台脚本
<script>
function checkform()
{
//功能
}
</script>
------解决方案--------------------
当页面中存在LinkButton等控件是
__doPostBack( "控件名 ", " ");也可
------解决方案--------------------
可以唉~ 上面都说的很清楚啦`

------解决方案--------------------
sendling(心随我动) ( ) 信誉:100 Blog 加为好友 2007-07-12 19:41:42 得分: 0


前台的 <asp:Button ID= "btnSubmit " runat= "server " Text= "提交 " OnClientClick= "checkform() " OnClick= "btnSubmit_Click " /> 就这样可以调用,用OnClientClick

前台脚本
<script>
function checkform()
{
//功能
}
</script>



------解决方案--------------------
1。
答案是肯定的!

2。
都说,ASP.NET 是事件驱动的,
但是,事件又是客户端激发,
那么,如何映射到服务器控件的服务器端事件呢?
本质,就是通过客户端的脚本加上原始的html表单原理,将两者紧密的联系起来

ASP.NET 完成了这个“联系”过程的封装,让Web开发人员享受桌面开发的“事件驱动模型“
大大降低了复杂的Web开发原始HTTP请求/响应处理

至于,具体如何关联的,需要大量的背景知识,有待深入学习

3。
DEMO

<asp:Button ID= "btnSubmit " runat= "server " Text= "提交 " OnClick= "btnSubmit_Click " />
<input type=button onclick=myFire() value=间接提交 onclick=mySubmit( 'btnSubmit ') />

<script type= "text/javascript ">
function mySubmit(whichButtonId)
{
var btn = document.getElementById(whichButtonId);
if(!btn) return alert( "目标按钮不存在 ");
btn.click();
}
</script>
------解决方案--------------------
可以采用一种变通的方式
定义一个客户端的Button,然后转成服务器端控件,在这个Button的服务器端点击事件里调用你想要的服务器端控件的事件

用JS就可以直接写这个客户端时间的点击
document.all.button.click();

如果是VS2005就不用这样麻烦了因为有了OnClientClick事件

------解决方案--------------------
如果是checkbox的话,是不是 document.all.check1.check()?
------解决方案--------------------

如果是checkbox的话,是不是 document.all.check1.check()?

=============

NO!

ASLO, click

> > >

document.all.check1.click()