【问题标题】:How to detect the Cancel button in Sweetalert2如何检测 Sweetalert2 中的取消按钮
【发布时间】:2021-12-04 17:56:10
【问题描述】:

我正在使用 Sweetalert2 和 Ajax 调用。
我只想在单击“确定”后显示错误消息。

目前,当点击 CANCEL 或在 modal 之外,它仍然会进行 Ajax 调用(并显示错误)。

$(function() {
  $('.user-details').click(function(e) {
    e.preventDefault();
    Swal.fire({
      title: 'Are you sure?',
      text: '',
      icon: 'question',
      showCancelButton: true,
      showLoaderOnConfirm: true,
      reverseButtons: true,
      preConfirm: function() {
        console.log('AJAX request');
        return new Promise(function(resolve, reject) {
          setTimeout(function() {
            resolve();
          }, 1200);
        });
      },
    }).then(function() {
      Swal.fire({
        title: 'Error!',
        text: 'I want to show this, only after clicking OK!',
        icon: 'error',
        showCancelButton: false,
        showLoaderOnConfirm: false,
      });
    });
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>

<button class='btn btn-success user-details'>View Details</button>

通过单击取消或在模式之外,我希望它在没有“错误”消息的情况下取消。

【问题讨论】:

  • 您在preConfirm 中的 Ajax 调用在您单击取消或模式外时运行。

标签: javascript ajax sweetalert2


【解决方案1】:

试试这个

    Swal.fire({
    title: 'titulo',
    text: 'text',
    icon: 'warning',
    showCancelButton: true,
    cancelButtonText: 'Cancelar',
    confirmButtonColor: '#00CC00',
    cancelButtonColor: '#999999',
    confirmButtonText: 'Si, Eliminar',
    reverseButtons: true,
}).then((result) => {
    if (result.isConfirmed) {
        $.ajax({
            type: 'POST', //or GET
            url: 'url',
            data: { id: id },
            success: (data, status, xhr) => {
                console.log(status);
         
            },
            error: (xhr, status, error) => {
                console.log('xhr', xhr);
                console.log('status', status);
                console.log('error', error);
            },
            dataType: 'json',
        });
    }
});

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-11
  • 2012-06-25
  • 2019-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多