当前位置:编程学习 > C#/ASP.NET >>

Textbox用JS添加了onblur事件,怎么才能在关闭页面时,不触发失去焦点事件?

<script language="javascript" type="text/javascript">
    String.prototype.Trim = function() { 
             return this.replace(/(^\s*)|(\s*$)/g, ""); 
         }    
       
         //$d("").value.Trim()

    function checkEmpty( objID,msg ) {
        var obj = document.getElementById(objID);
        if (obj.value.Trim() == "") {
            alert(msg);
            return;
        }
    }
</script>

<asp:TextBox ID="txtRoleID" runat="server" onblur="checkEmpty('txtRoleID','请输入角色ID');" >
源码如上,当焦点在textbox上时,点关闭,还是弹出提示框;在关闭页面时,怎么样才能不弹出提示框? --------------------编程问答-------------------- 估计是LZ用了服务器控件,生成页面的时候他的ID会改变掉,所以没有达到预想的效果

用这个试试


<asp:TextBox ID="txtRoleID" runat="server" onblur="checkEmpty('<%=txtRoleID.ClientID %>','请输入角色ID');" >
--------------------编程问答-------------------- 是用的服务器控件。
改成如下代码:在关闭窗口时,还是会弹出提示
 function checkEmpty( objID,msg ) {
//        var obj = document.getElementById(objID);
        var obj = document.getElementById('<%=txtRoleID.ClientID %>') 

        if (obj.value.Trim() == "") {
            alert(msg);
            return;
        }
    } --------------------编程问答-------------------- 貌似和服务器或客户端控件没关系,这个事件已经触发了,现在我是要在关闭窗口时,不触发事件,不弹出消息。 --------------------编程问答-------------------- 我这边怎么没提示呢,一样的代码,关闭的时候没触发事件啊,焦点在textbox上的 --------------------编程问答-------------------- 这样弄就行了

  <head runat="server">
    <title></title>
    <script language="javascript" type="text/javascript">
        String.prototype.Trim = function () {
            return this.replace(/(^\s*)|(\s*$)/g, "");
        }
       
        //$d("").value.Trim()
        function close() {
            var remo = document.getElementById('txtRoleID');
            remo.removeAttribute('onblur');

        }
        function checkEmpty(objID, msg) {
           
                var obj = document.getElementById(objID);
                if (obj.value.Trim() == "") {
                    alert(msg);
                    return;
                }
            
           
        }
</script>
</head>
<body  onBeforeUnload="close()">
    <form id="form1" runat="server">
    <div>
       <asp:TextBox ID="txtRoleID" runat="server" onblur="checkEmpty('txtRoleID','请输入角色ID');" ></asp:TextBox>
    </div>
    </form>
</body>
</html>
--------------------编程问答-------------------- 呵呵,照着我上面那样弄就行了,在body里面加个onBeforeUnload事件就OK了,测试过了,可以的 --------------------编程问答-------------------- 可以了,非常感谢楼上“binpo1 ”
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,