none
Disable Form RRS feed

  • Pergunta

  • Pessoal, estou a dias procurando algo em jQuery para que quando o sistema dispare um evento que processe algo no servidor, como por exemplo ao clicar em um botão ou algum TextBox com AutoPostBack=true, apareça um popup pedindo para aguardar o processamento das informações, impedindo assim do usuário fazer outras ações no sistema ou na página que se encontra.

    até então não achei algo que tenha funcionado como esperasse.

    Aguardo sugestões.

    quarta-feira, 21 de novembro de 2012 14:00

Respostas

  • Olha fiz exemplo aqui,

    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
           
             <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <asp:Button ID="btn" runat="server" Text="ok" OnClick="btn_Click" />
                    <asp:Button ID="btn2" runat="server" Text="Button" OnClick="btn2_Click" />
                    <asp:TextBox ID="Nome" runat="server"></asp:TextBox>
                 </ContentTemplate>
            </asp:UpdatePanel>
    
            <%-- Utilizei um Updateprogress que mostra a mensagem --%>
            <asp:UpdateProgress ID="UpdateProgress1"  AssociatedUpdatePanelID="UpdatePanel1" runat="server">
                <ProgressTemplate>
                    <div style="width:200px; height:200px; margin:auto;border:solid">
                        Aguarde...
                    </div>
                </ProgressTemplate>
            </asp:UpdateProgress>
           
            <%-- Script que desabilita os controles --%> 
            <script type="text/javascript">
                $(document).ready(function () {
                    $("#btn").click(function () {
                        $("#Nome").attr("disabled", true);
                        $("#btn2").attr("disabled", true);
                    });
                });
                </script>

    Não esqueça de referênciar o Jquery.
    quarta-feira, 21 de novembro de 2012 17:55
    Moderador
  • quinta-feira, 22 de novembro de 2012 18:08

Todas as Respostas

  • Olá Pablo,

    Você quer quando dar um postback na página mostre uma mensagem?

    Você está utilizando Ajax?

    quarta-feira, 21 de novembro de 2012 14:21
    Moderador
  • como disse, estou tentando implementar uma função em jQuery para que durante o processamento dos dados pelo servidor, por exemplo ao clicar em um botão, apareça uma mensagem e desabilite outras funções da página.

    <div>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:UpdatePanel runat="server">
                <ContentTemplate>
                    <asp:Button ID="Button1" runat="server" onclick="Button1_Click" />
                    <asp:Button ID="Button2" runat="server" onclick="Button1_Click" />
                    <asp:Button ID="Button3" runat="server" onclick="Button1_Click" />
                </ContentTemplate>
            </asp:UpdatePanel>
        </div>

    protected void Page_Load(object sender, EventArgs e)
            {
    
            }
    
            protected void Button1_Click(object sender, EventArgs e)
            {
                Thread.Sleep(1000);
            }

    nesse exemplo que mostro, gostaria que enquanto é processado o Evento de algum botão, não fosse possível alterar os dados do TextBox.

    vale lembrar que em alguns casos tenho páginas com UserControls.

      
    quarta-feira, 21 de novembro de 2012 15:54
  • Olha fiz exemplo aqui,

    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
           
             <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                <ContentTemplate>
                    <asp:Button ID="btn" runat="server" Text="ok" OnClick="btn_Click" />
                    <asp:Button ID="btn2" runat="server" Text="Button" OnClick="btn2_Click" />
                    <asp:TextBox ID="Nome" runat="server"></asp:TextBox>
                 </ContentTemplate>
            </asp:UpdatePanel>
    
            <%-- Utilizei um Updateprogress que mostra a mensagem --%>
            <asp:UpdateProgress ID="UpdateProgress1"  AssociatedUpdatePanelID="UpdatePanel1" runat="server">
                <ProgressTemplate>
                    <div style="width:200px; height:200px; margin:auto;border:solid">
                        Aguarde...
                    </div>
                </ProgressTemplate>
            </asp:UpdateProgress>
           
            <%-- Script que desabilita os controles --%> 
            <script type="text/javascript">
                $(document).ready(function () {
                    $("#btn").click(function () {
                        $("#Nome").attr("disabled", true);
                        $("#btn2").attr("disabled", true);
                    });
                });
                </script>

    Não esqueça de referênciar o Jquery.
    quarta-feira, 21 de novembro de 2012 17:55
    Moderador
  • quinta-feira, 22 de novembro de 2012 18:08