Soy nuevo en Javascript/jQuery. Quiero mostrar un mensaje de alerta usando la biblioteca 'sweetalert' y, según la respuesta del usuario, la función regresará o continuará.
Aquí está mi implementación:
jQuery("#some_exchnage_request_form").on( 'submit', function(e){ // some implementation // Now showing the alert jQuery.getScript('https://unpkg.com/sweetalert/dist/sweetalert.min.js', function() { swal({ title: "Do you want Continue ? ", text: "You need to pay extra amount", icon: "success", buttons: true, confirmButtonColor: '#C64EB2', }) .then((willSubmit) => { if (!willSubmit) { return false; } }); }); // rest of the code });Aquí la expectativa es que si el usuario selecciona el botón 'cancelar', la función debe devolver falso, de lo contrario, al seleccionar el botón 'ok', la parte del 'resto del código' se ejecutará.
Pero aquí el problema es que el código no se detiene para la entrada del usuario y simplemente continúa. El cuadro de alerta se muestra pero ignora la selección del usuario.
Sé que la implementación es incorrecta, pero no estoy seguro de cuál sería la forma correcta de hacerlo.
¡¡Gracias!!
Necesitas usar S wal.fire(); para que funcione.
https://dulcealert2.github.io/
jQuery("#some_exchnage_request_form").on( 'submit', function(e){ // some implementation // Now showing the alert e.preventDefault(); jQuery.getScript('https://cdn.jsdelivr.net/npm/sweetalert2@11', function() { Swal.fire({ title: 'Do you want Continue ?', text: "You need to pay extra amount", icon: 'success', showCancelButton: true, confirmButtonColor: '#C64EB2', cancelButtonColor: '#d33', confirmButtonText: 'Yes' }).then((result) => { if (result.isConfirmed) { Swal.fire( 'Confirmed!', 'You agreed to pay extra amount.', 'success' ) } else { console.log('clicked cancel'); } }) }) // rest of the code }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <form id="some_exchnage_request_form"> <input type="submit"> </form>Hay preguntas similares y parece que es una limitación de 'sweetalert' que la ejecución no se detiene para la entrada del usuario a diferencia de alert()/confirm() en js.