none
Alerta ao Fechar o Browser ou Mudar de página RRS feed

  • Pergunta

  • Boa Tarde a Todos,

    Estou com o seguinte problema:

    Preciso saber quando o usuário fechar o Browser ou Mudar de página para exibir um alerta de alterações não salvas e fazer algumas modificações no banco caso ele saia através do fechamento do Browser.

    Pesquisei em alguns sites mas não encontrei uma forma de interagir com o banco de dados para fazer as alterações.

    Teria alguma forma de fazê-lo?

    Desde Já Agradeço a Ajuda!

    segunda-feira, 28 de junho de 2010 15:56

Respostas

  • Bom dia Junior.

    Veja aqui um bom exemplo para o que você precisa http://www.4guysfromrolla.com/webtech/100604-1.shtml.

    • Sugerido como Resposta Harley Araujo quarta-feira, 30 de junho de 2010 13:27
    • Marcado como Resposta [J]unior quarta-feira, 30 de junho de 2010 14:19
    quarta-feira, 30 de junho de 2010 13:27
  • Consegui Fazer o Alerta aparecer somente quando o Usuario alterar algum campo no formulário.

    segue Abaixo o Código:

    <script type="text/javascript" language="Javascript">
     var Confirmacao; //Variavel Global Booleana
    
    
     window.onbeforeunload = ConfirmarSaida;
    
    
     function ConfirmarSaida()
     {
      if (Confirmacao)
      {
       return "Deseja Realmente Sair Desta Página? \n \nTodas as Alterações não Salvas Serão Perdidas!";
       }
     }
    
    
      function VerificaAlteracao(campo)
     {
     if(campo.value != "")
     {
      Confirmacao = true;
     }
     else
     {
     Confirmacao = false;
     }
     }
    </script>

    e No Load da Pagina é só atribuir no evento onkeyup:

     

    txtDescrSuprimento.Attributes.Add("onKeyup", "VerificaAlteracao(this)");

    Obrigado pela Ajuda de Todos!

     

    Abraços

    • Marcado como Resposta [J]unior quarta-feira, 30 de junho de 2010 16:21
    quarta-feira, 30 de junho de 2010 16:20

Todas as Respostas

  • Dentro da tag BODY da sua página insira o evento onUnload="". Dentro deste evento, você pode verificar o que quiser atraves de JavaScript + Ajax
    Rafael Santos
    MSN: rafasantos86@hotmail.com
    E-mail: rsdsantos@gmail.com

    Pequeno Gafanhoto
    segunda-feira, 28 de junho de 2010 17:16
  • Tem como vc me da um exemplo de como eu trabalho com o banco de dados usando esse evento?

     

    Ou como eu envio algum dado para o lado do servidor pra eu saber que o Browser foi fechado ou o usuario mudou de pagina?

     

     

    desde já muito Obrigado!

    terça-feira, 29 de junho de 2010 00:19
  • Bom dia Junior.

    Veja aqui um bom exemplo para o que você precisa http://www.4guysfromrolla.com/webtech/100604-1.shtml.

    • Sugerido como Resposta Harley Araujo quarta-feira, 30 de junho de 2010 13:27
    • Marcado como Resposta [J]unior quarta-feira, 30 de junho de 2010 14:19
    quarta-feira, 30 de junho de 2010 13:27
  • Bom Dia Harley, então eu consegui fazer essa Rotina porém me deparei com um outro problema:

    toda vez que o usuário for mudar de página o alerta é exibido.

    o que eu queria fazer era exibir esse alerta caso ele fizesse alguma alteração no formulário e tentasse sair da página.

    para isso pensei em setar como TRUE uma variável dentro da função proposta pelo site "http://www.4guysfromrolla.com/webtech/100604-1.shtml" caso algum dos campos do formulário fossem alterados.

    o problema é que os campos de texto do meu formulário são do tipo asp:button. Tentei passar no codigo da pagina dessa maneira:

     

    <asp:TextBox ID="txtDescrSuprimento" runat="server" Width="323px" 
        MaxLength="50" OnTextChanged="Confirmacao = true;"></asp:TextBox>

    mas não funcionou =(

    você teria alguma idéia de como setar esse valor para essa variável javascript?

    ou de como alertar somente em caso de alteração?

     

    abraço

     

    Muito Obrigado pela Ajuda!

    quarta-feira, 30 de junho de 2010 14:27
  • Consegui Fazer o Alerta aparecer somente quando o Usuario alterar algum campo no formulário.

    segue Abaixo o Código:

    <script type="text/javascript" language="Javascript">
     var Confirmacao; //Variavel Global Booleana
    
    
     window.onbeforeunload = ConfirmarSaida;
    
    
     function ConfirmarSaida()
     {
      if (Confirmacao)
      {
       return "Deseja Realmente Sair Desta Página? \n \nTodas as Alterações não Salvas Serão Perdidas!";
       }
     }
    
    
      function VerificaAlteracao(campo)
     {
     if(campo.value != "")
     {
      Confirmacao = true;
     }
     else
     {
     Confirmacao = false;
     }
     }
    </script>

    e No Load da Pagina é só atribuir no evento onkeyup:

     

    txtDescrSuprimento.Attributes.Add("onKeyup", "VerificaAlteracao(this)");

    Obrigado pela Ajuda de Todos!

     

    Abraços

    • Marcado como Resposta [J]unior quarta-feira, 30 de junho de 2010 16:21
    quarta-feira, 30 de junho de 2010 16:20