• 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的冲突了
  • 相关阅读:
    基于socket.io的实时消息推送
    mysql_use_result & mysql_store_result & MYSQLI_ASYNC
    深入浅出讲解:php的socket通信
    Mysql时间存储类型优缺点?DATETIME?TIMESTAMP?INT?
    PHP垃圾回收机制引用计数器概念
    php调试函数
    Docker生产环境实践指南
    11 个 Linux 上最佳的图形化 Git 客户端
    浅谈TCP/IP网络编程中socket的行为
    highcharts 使用实例
  • 原文地址:https://www.cnblogs.com/gates/p/3159278.html
Copyright © 2020-2023  润新知