0

我正在使用 ASP.NET 登录控件,当单击提交按钮时,我正在显示一个jQuery 抖动器。这很好用,但是如果客户端验证失败并且按钮不可见,则 throbber 是可见的,因此用户无法重新提交表单。如果客户端验证失败,如何隐藏 throbber?

4

2 回答 2

1

在不了解细节的情况下...为什么不只在客户端验证通过时才启动 throbber呢?作为用户,我会惊讶地看到一个 UI 元素非常短暂地闪现,只是再次被删除并被错误消息替换。

于 2010-01-02T20:53:22.437 回答
1

这有点棘手,但我得到了这个工作。首先,必须对 Login 控件进行模板化,这是我所期望的,但即便如此,按钮的 ClientID 也是不可访问的,所以我不得不向它添加一个类选择器。我首先尝试添加 throbber 并在使用轻度/未记录的 Page_ClientValidate() 事件验证成功时将其打开,但这不起作用,因为 throbber 默认订阅按钮的单击事件并在验证发生之前打开。

如果 Page_IsValid 为真,那么工作就是坚持使用迷你 API并将 throbber 添加到按钮中。按钮的 CausesValidation 属性必须为 true(默认值)。

javascript:

    $(document).ready(function() {
        $('.login').click(function() {
            if (Page_IsValid) {
                $('.login').throbber({ image: "Images/throbber.gif" });
            }
        });
    });

按钮标记;Login 控件模板的唯一添加是 CssClass 属性:

<asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="Log In" ValidationGroup="uxLogin" CssClass="login" />
于 2010-01-03T19:39:12.897 回答