Vou criar um botão para executar uma ação e salvar os dados em um banco de dados.
Depois que o usuário clicar no botão, desejo que um alerta JavaScript ofereça as opções "yes" e "cancel". Se o usuário selecionar "sim", os dados serão inseridos no banco de dados, caso contrário, nenhuma ação será tomada.
Como faço para exibir esse diálogo?
javascript
dialog
crchin
fonte
fonte
Respostas:
Você provavelmente está procurando
confirm()
, que exibe um prompt e retornatrue
ou comfalse
base no que o usuário decidiu:fonte
return
dentro do else e não precisa envolver todo o seu código na confirmação! (correção caso a caso)if(!confirm('message')) return;
Use em
window.confirm
vez de alerta. Essa é a maneira mais fácil de obter essa funcionalidade.fonte
if(confirm("...")){
em vezComo fazer isso usando o JavaScript 'inline':
fonte
<form onsubmit="...">
que você sugeriu obras também :)Evitar JavaScript embutido - alterar o comportamento significaria editar todas as instâncias do código, e isso não é bonito!
Uma maneira muito mais limpa é usar um atributo de dados no elemento, como
data-confirm="Your message here"
. Meu código abaixo suporta as seguintes ações, incluindo elementos gerados dinamicamente:a
ebutton
cliquesform
enviaoption
Selecione% sjQuery:
HTML:
Demonstração do JSFiddle
fonte
$("[data-confirm]").on('click,submit', function() { /* ... */ })
type="button"
pergunta então se o usuário queria enviar o formulário (porque você está clicando em um elemento do formulário), o que obviamente não aconteceu depois de clicar em OK novamente.confirm()
para o que quiser sem alterar o HTML.Você deve criar custume confirmBox , não é possível alterar os botões na caixa de diálogo exibida pela função de confirmação.
veja este exemplo: https://jsfiddle.net/kevalbhatt18/6uauqLn6/
Chame pelo seu código:
Exemplo : http://jsfiddle.net/kevalbhatt18/qwkzw3rg/127/
Roteiro :
CSS :
fonte
document.getElementById('id_confrmdiv').style.display="none";
a caixa de diálogo está oculta após todos os comandos executados no método de um botão.Este plugin pode ajudá-lo a confirmar com jquery, fácil de usar
fonte
Ou simplesmente:
fonte
Você pode interceptar o
onSubmit
evento com JS. Em seguida, chame um alerta de confirmação e pegue o resultado.fonte
Outra maneira de fazer isso:
fonte
Esta é uma solução responsiva completa usando javascript de baunilha:
fonte
O xdialog fornece uma API simples xdialog.confirm () . O snippet de código está a seguir. Mais demos podem ser encontradas aqui
fonte
// do work here..
. Faça as funçõesYES TEXT
eNO TEXT
vá para lá?NO TEXT
?oncancel
opção às últimas opções de parâmetro dexdialog.confirm(text, onyes, options)
. Para mais detalhes veja: default-opções xdialogfonte