Criando uma Pergunta Sim/Não
em Javascript
Ao construir aplicações web, a interação do usuário é fundamental para criar uma experiência fluida. Um cenário comum que os desenvolvedores encontram é a necessidade de fazer uma pergunta Sim/Não
aos usuários. No entanto, a função padrão confirm()
em Javascript, embora funcional, oferece apenas os botões OK/Cancelar
. Então, o que pode ser feito para criar uma caixa modal mais personalizada que apresente opções claras de Sim/Não
?
As Limitações das Caixas Modais Integradas
Javascript oferece algumas caixas modais integradas: alert
, confirm
e prompt
. No entanto, nenhuma delas fornece uma opção explícita de Sim/Não
. Aqui está um resumo rápido dessas opções:
- alert(): Exibe uma mensagem ao usuário com um botão OK. Útil para notificações, mas não faz perguntas.
- confirm(): Faz uma pergunta de sim/não e retorna um Booleano (
true
oufalse
). No entanto, utiliza botõesOK/Cancelar
em vez deSim/Não
. - prompt(): Permite entrada do usuário, mas não é adequada para interações de sim/não e possui apenas botões OK/Cancelar.
Essas funções integradas podem não atender às suas necessidades específicas, levando-nos a explorar soluções personalizadas.
Soluções Personalizadas para Pop-ups Modais
Para criar um prompt de pergunta Sim/Não
, muitos desenvolvedores optam por bibliotecas de terceiros que permitem caixas de diálogo mais personalizáveis. Uma dessas soluções é o ModalBox. Aqui está uma visão geral rápida de como implementá-la:
Usando o ModalBox
-
Instalação: Primeiro, inclua o ModalBox em seu projeto. Você pode encontrar a biblioteca aqui no GitHub.
-
Estrutura HTML: Configure o formato HTML da sua caixa modal. Aqui está um exemplo de uma estrutura simples para o seu modal:
<div id="myModal" class="modal"> <div class="modal-content"> <span class="close">×</span> <p>Tem certeza de que deseja continuar?</p> <button id="yesButton">Sim</button> <button id="noButton">Não</button> </div> </div>
-
Estilizando o Modal: Não se esqueça de adicionar estilos ao seu modal para uma melhor experiência do usuário. Aqui está um exemplo simples de CSS:
.modal { display: none; position: fixed; z-index: 1; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgb(0,0,0); background-color: rgba(0,0,0,0.4); } .modal-content { background-color: #fefefe; margin: 15% auto; padding: 20px; border: 1px solid #888; width: 80%; }
-
Funcionalidade em Javascript: Por fim, adicione o Javascript que abrirá o modal quando necessário e lidará com os cliques dos botões:
document.getElementById('myModal').style.display = "block"; // Abre o modal document.getElementById("yesButton").onclick = function() { console.log("Usuário clicou em Sim"); // Adicione sua ação para "Sim" aqui document.getElementById('myModal').style.display = "none"; } document.getElementById("noButton").onclick = function() { console.log("Usuário clicou em Não"); // Adicione sua ação para "Não" aqui document.getElementById('myModal').style.display = "none"; } document.getElementsByClassName("close")[0].onclick = function() { document.getElementById('myModal').style.display = "none"; }
Conclusão
Criar uma pergunta personalizável Sim/Não
em Javascript é possível utilizando bibliotecas de caixa modal em vez de depender exclusivamente de funções integradas. Seja você optar pelo ModalBox ou outra alternativa, essas soluções personalizadas proporcionam uma melhor experiência ao usuário enquanto aprimoram a interação em suas aplicações web.
Explore as bibliotecas disponíveis e escolha a que melhor se adapta ao estilo e às necessidades funcionais do seu projeto, e em breve você poderá envolver os usuários com perguntas Sim/Não
claras e acessíveis.