zoukankan      html  css  js  c++  java
  • onclientclick与onclick的问题.

    <script language="javascript" type="text/javascript">

                document.getElementById("txtLoginName").focus();

                function check() {
                    if (document.getElementById("txtLoginName").value == "") {
                        alert("请输入用户名");
                        document.getElementById("txtLoginName").focus();
                        return false;  ;// 当返回FALSE的时候就可以阻止后台提交了

                    }
                    if (document.getElementById("psd").value == "") {
                        alert("请输入密码");
                        document.getElementById("psd").focus();
                        return false;
                    }
                    if (document.getElementById("TxtVerify").value == "") {
                        alert("请输入验证码");
                        document.getElementById("TxtVerify").focus();
                        return false;
                    }
                    return true;
                }


                function GetCode() {
                    var num = Math.random();
                    var tempImg = document.getElementById("imgValiRegister");

                    tempImg.src = "AdminHandler/ValidateCodeHandler.ashx?by=register&t=" + num;
                    return false;
                }

                $(function () {
                    //检测浏览器类型
                    var currBrowser = $.browser;

                    if (currBrowser.msie) {
                        if (currBrowser.version == '6.0') {
                            alert("您当前使用的浏览器版本过低,请升级到高级版本或使用其他浏览器");
                        }
                    }
                });
            </script>

    <asp:Button ID="Button1" runat="server" Text="Button" 
                OnClientClick="return Check()"
                OnClick="Button1_Click" />
                <!--OnClientClick这个地方一定要写上 return-->
     
    onlick时发生postback,执行后台代码。 
    onclientclick,就是执行javascipt代码,不会发生postback. 

    简单说,onclick:执行C#代码, onclientclick:执行javascript代码。

    onclientclick先于onclick发生,一般执行脚本

    onclientclick() 控制客户端提交。 
    例如可以使用confirm('是否执行?') 

    return true:执行onlick事件。 
    return false:什么都不干。

    再得来说:
    OnClick是button的服务器端事件

    OnClientClick是button的客户端事件

    一般我们用 OnClientClick验证我们的提交数据,但是这个一定要返回ture或者false,即一定要加上return,否则OnClick失效。当返回false时OnClick服务器端事件才被中止,当你的js验证有错误,也会跳过验证,直接执行服务器端事件OnClientClick。为了避免这样的错误,可以考虑用服务端验证这样就省去了OnClientClick事件,就不用考虑和OnClick的冲突了
  • 相关阅读:
    在win2003中发布部署vs2010b2写的mvc2网站
    安装blender2.5Alpha0
    Win7下虚拟机个人使用小结:Virtual PC,VMware和VirtualBox
    ASP.NET AJAX Control Toolkit Beta 0911 发布[再增两控件]
    Camtasia 6录屏时鼠标闪烁问题解决
    为XNA制做安装程序(四)WIX Toolset 3.0 for Visual Studio 2008
    Oracle EM 12c
    无题
    从徐汇到虹口
    近况
  • 原文地址:https://www.cnblogs.com/gates/p/3159278.html
Copyright © 2011-2022 走看看