Eu tenho uma tabela HTML de linhas vinculadas às linhas do banco de dados. Gostaria de ter um link "excluir linha" para cada linha, mas gostaria de confirmar com o usuário antecipadamente.
Existe alguma maneira de fazer isso usando o diálogo modal do Twitter Bootstrap?
Respostas:
GET receita
Para esta tarefa, você pode usar plugins e extensões de inicialização já disponíveis. Ou você pode criar seu próprio pop-up de confirmação com apenas 3 linhas de código. Confira.
Digamos que tenhamos esses links (observe em
data-href
vez dehref
) ou botões para os quais queremos receber a confirmação de exclusão:Aqui
#confirm-delete
aponta para uma div pop-up modal no seu HTML. Ele deve ter um botão "OK" configurado assim:Agora você só precisa desse pequeno javascript para tornar confirmada uma ação de exclusão:
O
show.bs.modal
botão de exclusão do evento ativadohref
é definido como URL com o ID de registro correspondente.Demo: http://plnkr.co/edit/NePR0BQf3VmKtuMmhVR7?p=preview
Receita POST
Sei que, em alguns casos, pode ser necessário executar a solicitação POST ou DELETE em vez de GET. Ainda é bastante simples, sem muito código. Dê uma olhada na demonstração abaixo com esta abordagem:
Mostrar snippet de código
Demo: http://plnkr.co/edit/V4GUuSueuuxiGr4L9LmG?p=preview
Bootstrap 2.3
Aqui está uma versão original do código que eu criei quando estava respondendo a essa pergunta para o modal Bootstrap 2.3.
Demo : http://jsfiddle.net/MjmVr/1595/
fonte
http://bootboxjs.com/ - trabalhos mais recentes com o Bootstrap 3.0.0
O exemplo mais simples possível:
Do site:
Aqui está um trecho dele em ação (clique em "Executar trecho de código" abaixo):
fonte
fonte
Eu perceberia que é uma pergunta muito antiga, mas desde que me perguntei hoje sobre um método mais eficiente de lidar com os modais de inicialização. Eu fiz algumas pesquisas e encontrei algo melhor do que as soluções mostradas acima, que podem ser encontradas neste link:
http://www.petefreitag.com/item/809.cfm
Primeiro carregue o jquery
Em seguida, basta fazer qualquer pergunta / confirmação para href:
Dessa forma, o modal de confirmação é muito mais universal e, portanto, pode ser facilmente reutilizado em outras partes do seu site.
fonte
Graças à solução de @ Jousby , também consegui fazer a minha funcionar, mas descobri que precisava melhorar um pouco a marcação modal do Bootstrap da solução para torná-la renderizada corretamente, conforme demonstrado nos exemplos oficiais .
Então, aqui está minha versão modificada da
confirm
função genérica que funcionou bem:fonte
btnType = "btn-primary"
e depois alterar o código para o botão OK conterclass="btn ' + btnType + '"
. Dessa forma, pode-se passar um argumento opcional para alterar a aparência do botão OK, comobtn-danger
para uma exclusão.Achei isso útil e fácil de usar, além de bonito: http://maxailloud.github.io/confirm-bootstrap/ .
Para usá-lo, inclua o arquivo .js na sua página e execute:
Existem várias opções que você pode aplicar a ele, para torná-lo melhor ao confirmar a exclusão, eu uso:
fonte
Eu posso lidar facilmente com esse tipo de tarefa usando a biblioteca bootbox.js. No início, você precisa incluir o arquivo JS da caixa de inicialização. Em sua função de manipulador de eventos, basta escrever o seguinte código:
Bootboxjs offical local
fonte
A solução a seguir é melhor que o bootbox.js , porque
digimango.messagebox.js :
Para usar digimango.messagebox.js :
fonte
Você pode tentar mais reutilizável minha solução com a função de retorno de chamada . Nesta função, você pode usar a solicitação POST ou alguma lógica. Bibliotecas usadas: JQuery 3> e Bootstrap 3> .
https://jsfiddle.net/axnikitenko/gazbyv8v/
Código html para teste:
Javascript:
fonte
Quando se trata de um projeto relevante, podemos precisar de algo reutilizável . Isso é algo que eu vim com a ajuda do SO.
confirmDelete.jsp
reusingPage.jsp
Nota: Isso usa o método http delete para solicitação de exclusão, você pode alterá-lo de javascript ou pode enviá-lo usando um atributo de dados como no título de dados ou no URL de dados etc, para dar suporte a qualquer solicitação.
fonte
Se você quiser fazê-lo com o atalho mais fácil, poderá fazê-lo com este plugin .
Mas este plugin é uma implementação alternativa usando o Bootstrap Modal . E a implementação real do Bootstrap também é muito fácil, por isso não gosto de usar este plug-in porque ele adiciona conteúdo JS em excesso na página, o que diminui o tempo de carregamento da página.
Idéia
Eu gosto de implementá-lo sozinho dessa maneira:
Em seguida, no pop-up, haverá 2 botões para confirmação.
O código será assim (usando o Bootstrap ) -
Você deve alterar a ação do formulário de acordo com seus requisitos.
Happy coading :)
fonte
Receita POST com navegação para a página de destino e arquivo Blade reutilizável
A resposta do dfsq é muito boa. Eu o modifiquei um pouco para atender às minhas necessidades: eu realmente precisava de um modal para o caso em que, depois de clicar, o usuário também fosse navegado para a página correspondente. Executar a consulta de forma assíncrona nem sempre é o que é necessário.
Usando
Blade
eu criei o arquivoresources/views/includes/confirmation_modal.blade.php
:Agora, usá-lo é direto:
Não mudou muito aqui e o modal pode ser incluído assim:
Apenas colocando o verbo lá, ele o usa. Dessa forma, o CSRF também é utilizado.
Me ajudou, talvez ajude outra pessoa.
fonte