Posteriormente a consultar con expertos en esta materia, programadores de varias ramas y maestros hemos dado con la respuesta al problema y la compartimos en este post.
Solución:
Estás pasando demasiados parámetros al tragar constructor. Solo necesita dos:
swal (opciones, devolución de llamada)
- opciones: Atributos para diseñar la alerta
- devolución de llamada: la función de devolución de llamada para administrar los eventos
Cuando usa una confirmación simple, la devolución de llamada recibe solo un parámetro que indica la elección del usuario:
- true: Confirmar
- false: Cancelar
Con inputbox recibirás la entrada del usuario string como parámetro.
Cuando fusiona el cuadro de entrada y confirma, podría recibir:
- la entrada string valor: Cuando el usuario presione Confirmar
- false: Cuando el usuario presiona Cancelar
Asi que, tienes que usar la Comparación de Igualdad Estricta para saber si el usuario presionó cancelar o ha insertado el string false
en el cuadro de entrada.
Por favor vea el siguiente ejemplo simple:
swal(
title: "Are you sure?",
text: "Press CANCEL, please!",
type: "input",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "CONFIRM",
cancelButtonText: "CANCEL",
closeOnConfirm: false,
closeOnCancel: false
,
function(inputValue)
//Use the "Strict Equality Comparison" to accept the user's input "false" as string)
if (inputValue===false)
swal("Well done!");
console.log("Do here everything you want");
else
swal("Oh no...","press CANCEL please!");
console.log("The user says: ", inputValue);
);
Espero que te ayude, adiós.
también puede usar la implementación de promesas usando .then
Les dejo un ejemplo, esto se ejecutaría nada más presionar el botón
swal( 'Error!',valido.msj,'error').then((e)=>
if( valido.msj=="Enlace de botón No Válido" )
document.getElementById('link_btn_barra').focus();
);
Reseñas y valoraciones del artículo
Al final de la post puedes encontrar las acotaciones de otros creadores, tú todavía tienes el poder dejar el tuyo si te gusta.