SweetAlert2 Диалог подтверждения перед модальным закрытием с Bootstrap 4 - PullRequest
0 голосов
/ 12 апреля 2020

Привет, мой друг, как ты?

У меня есть простые вопросы о том, как изменить диалоговое окно подтверждения по умолчанию на диалоговое окно подтверждения SweetAlert2. Я пробовал несколько раз с множеством хитростей, но ничего не работает, как я хочу ...

Я сделал этот простой код, но проблема в моем собственном коде JS заключается в том, что когда я нажимаю кнопку ConfirmButton в Sweetalert2, ничего не происходит как правило, это должно быть близко к модальному.

См. это в предварительном просмотре в реальном времени: codepen

HTML КОД:

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@9"></script>

<!-- Button trigger modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal">
  Launch demo modal
</button>

<!-- Modal -->
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
  <div class="modal-dialog" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
        <input type="file" 
         id="ID12" 
         name="avatar"
         value="" />
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
        <button type="submit" class="btn btn-primary">Save changes</button>
      </div>
    </div>
  </div>
</div>

JS КОД:

$(document).on('hide.bs.modal', '#exampleModal', function (e) {
    if ($('#ID12').val() != '') {
        const CancelUploadConfirmation = false;
        if (!CancelUploadConfirmation) {
            e.preventDefault();
            const swalWithBootstrapButtons = Swal.mixin({
                customClass: {
                    confirmButton: 'btn btn-danger mr-2',
                    cancelButton: 'btn btn-success'
                },
                buttonsStyling: false
            })
            swalWithBootstrapButtons.fire({
                title: 'Are you sure? ?',
                text: "Do you really want to Cancel the Personal Picture Upload?",
                icon: 'question',
                showCancelButton: true,
                confirmButtonText: 'Yes, I am! ?',
                cancelButtonText: "No, I'm Not ?",
                showClass: {
                    popup: 'animated fadeInDown faster'
                },
                hideClass: {
                    popup: 'animated fadeOutUp faster'
                }
            }).then((CancelConfirmationResult) => {
                if (CancelConfirmationResult.value) {
                    CancelUploadConfirmation = true;
                } else if (CancelConfirmationResult.dismiss === Swal.DismissReason.cancel) 
                {
                    swalWithBootstrapButtons.fire({
                        title: 'Fantastic ?',
                        text: "We are happy ? that you still want to Upload your Own Personal picture!",
                        icon: 'success',
                        showConfirmButton: false,
                        timer: 1800,
                        showClass: {
                            popup: 'animated fadeInDown faster'
                        },
                        hideClass: {
                            popup: 'animated fadeOutUp faster'
                        }
                    })
                }
            });
        }
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...