前台JavaScript如何控制后台的onclick事件的执行?

来源:百度知道 编辑:UC知道 时间:2024/05/20 21:04:14
小弟做一个更新数据库的页面,
在前台用JavaScript写检测函数,
请问怎样根据检测check()函数的返回值决定是否执行后台按钮的onclick事件,
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="check()" OnClick= "Button1_Click"/>
另外请教OnClientClick和OnClick的区别,多谢各位高手,

<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return check();" OnClick= "Button1_Click"/>
check函数大概如下:
function check()
{
if(某个文本框内为空)
{
alert("请输入用户名");
return false;//一定要return
}
else if(...)
...
return true;//最后一定要return true
}
关于onclientclick和onclick:在.net 1.1中,没有onclientclick属性。当时的写法是onclick="return check();Button1_Click",那么这样不论check()返回值是true还是false都不会再提交服务器执行Button1_Click了(因为都return了,不会执行后面的代码了),这样对编码者来说增加了一些麻烦。所以在.net 2.0中Button控件增加了OnClientClick属性,在客户端需要加的javascript代码可以写在OnClientClick中,如OnClientClick="return check();"而服务器端事件Onclick="Button1_Click",代码逻辑清晰了,也无需去顾及return造成不能提交了。