none
SweetAlert se cierra rapido RRS feed

  • Pregunta

  • Hola, soy principiante en programación.

    Estoy agregando alertas con SweetAlert a un CRUD. Cuando estoy modificando un registro y le doy guardar; aparece una alerta que preguntará que si 'estoy seguro' de guardar los cambios para luego dar click al botón de confirmar. El problema es que la alerta se cierra demasiado rapido, no deja responder si 'estoy seguro' y automaticamente se redireciona al index donde se listan los registros y el cambio se ve reflejado.

    ¿Como hago para que me permita responder la alerta antes de ejecutar la pedicion del cambio?

    <script type="text/javascript">
            $(document).ready(function () {
                $('.demo4').click(function Confirmar(form) {
                    swal({
                        title: "Guardar cambios",
                        text: "¿Estas seguro de guardar los 
                               cambios?",
                        type: "warning",
                        showCancelButton: true,
                        confirmButtonColor: "#DD6B55",
                        confirmButtonText: "Si, guardar",
                        cancelButtonText: "No, cancelar",
                        closeOnConfirm: false,
                        closeOnCancel: false,
                        timer: 3000
                    },
                            function (isConfirm) {
                                if (isConfirm) {
                                    form.submit();
                                    swal("¡Cambios Guardados!", 
                                         "success");
                                } else {
                                    swal("¡Cancelado!", "error");
                                }
                            });
                });
    
            });
    </script>

    Este es el Script que estoy usando. (Es en base a una alerta basica que encontre en una plantilla de bootstrap).

    <input type="submit" value="Guardar cambios" class="btn btn-primary demo4" />
    Y éste es el botón que uso para enviar el formulario y guardar los cambios.

    Muchas gracias.

    viernes, 2 de marzo de 2018 3:49

Respuestas

  • hola

    estas aplicando el codigo sobre un boton submit, debes detener el post del form para motrar el alert

    podrias cambiar el boton a type="button" de esta forma si acepta el alert entonces si usar

    $(form).submit();

    jquery .submit()

    cuando tocas el boton del tipo submit este se realiza de todos modos sino lo detienes con el e.preventDefault() por eso comentaba de cambiar al tipo button

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    viernes, 2 de marzo de 2018 11:31

Todas las respuestas