猿问

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

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

<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,后台程序是都不执行,是怎么回事啊?


慕侠2389804
浏览 476回答 1
1回答

幕布斯6054654

兄弟,你这句即使不要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”你想达到的目的就可以实现了。若解决,加分哦!
随时随地看视频慕课网APP
我要回答