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()