首页 新闻 会员 周边

hmtl控件的click事件不能使用return

0
[已解决问题] 解决于 2012-01-31 11:21

这段做项目,遇见一个问题,如下:

<input type="button" id="btnSubmit" onclick="return Api.Method();" runat="server" onserverclick="btnSubmit_Click" />

js如下:

var Api={

Method:function(){

if(**){

return false;

}

return true;

}

}

当返回的是false时,后台程序就不能执行了,为什么呢?当把onclick的return去掉时,就能执行后台程序了,但是当返回false时,不能阻断程序,后台程序还是执行了,加上return,无论返回true还是false,后台程序是都不执行,是怎么回事啊?

问题补充:

我用的是IE6

code先生-null的主页 code先生-null | 菜鸟二级 | 园豆:307
提问于:2011-05-26 21:39
< >
分享
最佳答案
0

兄弟,你这句即使不要onclick="return Api.Method();"。也不可能回发的。如下:

<input type="button" id="btnSubmit" runat="server" onserverclick="btnSubmit_Click" />

你这样点击button会回发吗······?

(其实也可以 1.前提是自己在客户端写js提交button点击事件的方法

2.服务器控件没有写是因为利用了ie自动提交的事件走的是http协议。如果你把UseSubmitBehavior="false"在看看,这个时候才会走微软自己的提交事件的js方法)

你把type="button"换成“submit”你想达到的目的就可以实现了。

若解决,加分哦!

 

 

 

 

litte monkey | 初学一级 |园豆:25 | 2011-05-27 14:19
哥们,你是不是没试啊,你试试行不行,这样写是能执行后台代码的。
code先生-null | 园豆:307 (菜鸟二级) | 2011-05-31 16:05
其他回答(1)
0

return false 就会取消这个按钮的点击事件

慧☆星 | 园豆:5640 (大侠五级) | 2011-05-27 09:12
对啊,当是加上return后,不论是true还是false,onserverclick都不执行,是怎么回事呢?
支持(0) 反对(0) code先生-null | 园豆:307 (菜鸟二级) | 2011-05-27 12:54
怎么会呢?只有true时候就会继续执行啊。
支持(0) 反对(0) 慧☆星 | 园豆:5640 (大侠五级) | 2011-05-31 09:19
我也相当的郁闷,记得以前这样写都可以,为什么今天就不行了呢,对了,我用的Ie6
支持(0) 反对(0) code先生-null | 园豆:307 (菜鸟二级) | 2011-05-31 16:06
ie6也可以啊,你把代码贴出来看看啊
支持(0) 反对(0) 慧☆星 | 园豆:5640 (大侠五级) | 2011-05-31 16:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册