【问题标题】:textbox onblur event not fired when i click the exit button in asp.net当我单击 asp.net 中的退出按钮时,文本框 onblur 事件未触发
【发布时间】:2012-04-18 11:53:57
【问题描述】:

我有一个modelpopup扩展器,在那个文本框和两个asp.net按钮(保存,退出),文本框我写了onblur事件(在那个事件文本框中输入的值检查数据库是否有效,无效显示警报消息)现在该条件正在工作,但是当我单击退出按钮时,我已经处理了 onclick 或 onclientclik 事件(关闭 modelpopup 代码)但现在触发文本框模糊事件验证并显示警报消息,如何为了解决这个问题,请给我任何想法。 我的代码是

<asp:TextBox ID="txtForgotUserId" runat="server" ClientIDMode="Static" onblur="CheckUserId()"></asp:TextBox>
<asp:Button ID="btnForgotExit" runat="server" Text="Exit" CssClass="art-button" ClientIDMode="Static" OnClientClick="hidepop()"/>

<script type="text/javascript">
    function hidepop() {
        $find('MpForgot').hide();
        return true;
    }

    function CheckUserId() {
        document.getElementById('btnCheckUserId').click();
    }
</script>

【问题讨论】:

    标签: javascript asp.net textbox onblur


    【解决方案1】:

    代码按预期工作,因为一旦 TextBox 失去焦点就会调用 onblur。我建议在不同的位置调用 CheckUserId() - 可能是在单击按钮时 - 而不是 TextBox onblur。

    如果您必须在 onblur 期间调用 CheckUserId(),那么您可以使用这样的计时器:

    <asp:TextBox ID="txtForgotUserId" runat="server" 
        ClientIDMode="Static" onblur="startCheckUserIdTimer()"></asp:TextBox>
    <asp:Button ID="btnForgotExit" runat="server" Text="Exit" 
        CssClass="art-button" ClientIDMode="Static" OnClientClick="hidepop()"/>
    
    <script type="text/javascript">
        var timer;
    
        function hidepop() {
            clearTimeout(timer);
            $find('MpForgot').hide();
        }
    
        function startCheckUserIdTimer() {
            clearTimeout(timer);
            timer = setTimeout("CheckUserId()", 100);
        }
    
        function CheckUserId() {
            clearTimeout(timer);
            document.getElementById('btnCheckUserId').click();
        }
    </script>
    

    【讨论】:

    • 它不工作同样的问题发生请给我另一个解决方案
    • 您是否将 onblur 事件更改为调用 startCheckUserIdTimer() 而不是 CheckUserId()?了解这是一种 hack,但我不明白为什么它不起作用。您可能还希望将 onblur 更改为 onchange,以便它仅在值已更改时检查用户 ID。
    猜你喜欢
    • 2010-10-21
    • 2011-12-02
    • 1970-01-01
    • 2019-07-05
    • 2020-05-01
    • 1970-01-01
    • 2012-03-14
    • 2014-01-14
    • 2014-09-21
    相关资源
    最近更新 更多