Confirmação antes de deletar registro com Javascript

Muitas vezes programando na web, precisamos fazer um botão para remover algum registro do banco de dados, e como se trata da remoção de um registro é de muita importancia uma confirmação do tipo “Deseja remover esse resgistro?”. É isso que veremos nesse artigo; na verdade trata-se de um código simples, porém muito útil, vamos a ele:

Por exemplo, vamos criar links que irão chamar a função confirmacao():

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<html>
<head>
</head>
 
<body>
<a href="javascript:func()"
onclick="confirmacao('1')">Remover registro #1</a>
 
<a href="javascript:func()"
onclick="confirmacao('2')">Remover registro #2</a>
 
<a href="javascript:func()"
onclick="confirmacao('3')">Remover registro #3</a>
</body>
</html>

Criamos links da qual quando o usuário clicar neles, ou seja, no evento onclick será chamada a função confirmacao() e como parametro enviaremos o ID do registro.

Agora nosso javascript:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<html>
<head>
<script language="Javascript">
function confirmacao(id) {
     var resposta = confirm("Deseja remover esse registro?");
 
     if (resposta == true) {
          window.location.href = "remover.php?id="+id;
     }
}
</script>
</head>
 
<body>
<a href="javascript:func()"
onclick="confirmacao('1')">Remover registro #1</a>
 
<a href="javascript:func()"
onclick="confirmacao('2')">Remover registro #2</a>
 
<a href="javascript:func()"
onclick="confirmacao('3')">Remover registro #3</a>
</body>
</html>

Criamos a função confirmacao() que receberá como parametro o ID do registro, caso a resposta seja OK, ou seja, if (resposta == true) você será redirecionado para a página reponsável pela remoção do registro, no caso remover.php e enviará através do método GET o ID do registro que será removido.

Isso é apenas um exemplo de como podemos utilizar a confirmação. Vale apena realizar uma confirmação antes de remover um registro do banco de dados, pois são muitas as vezes que nós removemos algo importante sem a intenção.

Compartilhar

Posts relacionados

  1. Alex Martins disse:

    Rafael,

    Diga-me sua opinião sobre este método para remover, pois há algum tempo pensei em utilizar mas não achei seguro, pensei na possibidade do usuário querer digitar uma ID qualquer na barra de endereços (Ex.: remover.php?id=50)e deletar o registro. Por isso, uso um form para confirmar a exclusão do registro. Mas seria muito bacana utilizando javascript e não deixando apagar via método GET, você tem algo em mente para resolver isso?

    Abraço.

    • faael disse:

      Olá Alex Martins,
      Realmente, não é o modo mais seguro. Fiz o artigo imaginando um sistema onde qualquer um poderia remover o registro.
      Para evitar o método GET, eu utilizaria AJAX. Em uma solução mais simples, você poderia utilizar cookies: crie um cookie com o valor do id com javascript e depois recupere o cookie com php.

      Qualquer dúvida em relação a programação, entre em contato.
      Abraços.

  2. Willian ALmeida- Jaru RO disse:

    Ola …posso colocar o código php dentro da função confirmacao() ? tipo, um codigo que resgate do banco o id do item a ser excluido..

    • Rafael disse:

      Olá Willian,

      Você poderia colocar o ID como parâmetro sim, por exemplo:

      <a href="javascript:func()" onclick="confirmacao('<?php echo $item['id']; ?>')">Remover registro #1</a>

      Nesse caso não haveria problema, porém nunca se esqueça que o código PHP é interpretado primeiro, ok?
      Abraço.

  3. Bruno César Barreto de Figueirêdo disse:

    Caro fael,

    eu estou iniciando em php e tenho dúvidas certamente básicas. Gostaria, caso vc possa, de esclarecer contigo o seguinte.
    O primeiro programa é html ok? já o segundo trata-se de um javascript, ele deve estar num arquivo diferente do primeiro? Qual a extensão desse segundo arquivo? Qual o nome do segundo arquivo? Tem de ser func ??
    Desculpa, mas como te falei, esotu iniciando e estou tentando entender a estrutura de como isso tudo funciona.

    Obg antecipadamente

    • Rafael disse:

      Olá Bruno,

      Sim o primeiro é apenas HTML, já o segundo é o HTML anterior, porém eu coloquei um código javascript embutido nele, mas a extensão continua .html. Neste tutorial eu quis apenas passar a ideia de como fazer uma confirmação com javascript, ok?

      Abraço.

  4. Vera disse:

    Muito obrigado pelo javascript, eu tava procurando faz tempo tá funcionando no meu site, que eu estou programando..esse é o meu 1ª javascrit adorei abraço…

  1. Não há trackbacks para este post no momento.

Deixe um comentário