按钮上同时使用onClientClick()和onclick()时,onclick()不会被执行,即使onClientClick返回True
本帖最后由 mizchh 于 2013-05-28 11:28:52 编辑
ASPX代码
<asp:ImageButton ID="IMGBtn" runat="server"
OnClientClick='updatenum(50,60)'
OnClick="txt_OnText" AutoPostBack="true"></asp:ImageButton>
JS代码
function updatenum(obj1, obj2) {
if (obj2>0) {
__doPostBack(obj1, obj2);
alert('返回true');
return true;
}
else {
alert('返回false');
return false;
}
}
页面上已经弹出了‘返回true’,也就是说函数返回true了,为什么OnClick的服务器端事件一直不执行?------解决方案--------------------OnClientClick='return updatenum(50,60);'
------解决方案--------------------OnClientClick是客户端脚本,在客户端运行,点击后马上执行
OnClick是服务器端事件处理函数,在服务器端,在IIS中运行,执行postback,之后再运行。
可能因为OnclientCLick里面发生异常,或者返回了false。
再者你可以去掉 alert('返回false'); 这弹出就能执行成功了
------解决方案-------------------- ++
------解决方案--------------------你贴出来的代码没有return 啊
------解决方案--------------------OnClientClick='txt_OnText'这个调用后台事件
OnClick="return updatenum(50,60)"这个调用js事件
------解决方案--------------------_dopostback 这句代码好像和自动触发冲突了吧