最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - SweetAlert2 confirm dialog not working properly in onclick - Stack Overflow

programmeradmin7浏览0评论

How to fix the sweetalert2 confirm dialog not working properly in onclick event button?

I have a modal popup, for CRUD operations before submitting sweetalert2 confirm dialog is triggered.

Here is my modal form code:

<form id="EditForm" asp-action="Edit">
<div class="modal-body">
    
    /*input codes here*/
</div>
<div class="modal-footer justify-content-between">
    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
    <button type="submit" class="btn btn-success btn-flat" onclick="return submitResult()"><i class="far fa-check-circle"></i> Save Changes</button>
</div>

And here is js code:

function submitResult() {
        Swal.fire({
            title: 'Are you sure?',
            text: "You won't be able to revert this!",
            icon: 'warning',
            showCancelButton: true,
            confirmButtonColor: '#3085d6',
            cancelButtonColor: '#d33',
            confirmButtonText: 'Yes, delete it!'
        }).then((result) => {
            if (result.isConfirmed) {
                Swal.fire(
                    'Deleted!',
                    'Your file has been deleted.',
                    'success'
                )
                return true;
            }
            else {
                return false;
            }
        })
    }

Sample output

Apply edit, it still does not work

How to fix the sweetalert2 confirm dialog not working properly in onclick event button?

I have a modal popup, for CRUD operations before submitting sweetalert2 confirm dialog is triggered.

Here is my modal form code:

<form id="EditForm" asp-action="Edit">
<div class="modal-body">
    
    /*input codes here*/
</div>
<div class="modal-footer justify-content-between">
    <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
    <button type="submit" class="btn btn-success btn-flat" onclick="return submitResult()"><i class="far fa-check-circle"></i> Save Changes</button>
</div>

And here is js code:

function submitResult() {
        Swal.fire({
            title: 'Are you sure?',
            text: "You won't be able to revert this!",
            icon: 'warning',
            showCancelButton: true,
            confirmButtonColor: '#3085d6',
            cancelButtonColor: '#d33',
            confirmButtonText: 'Yes, delete it!'
        }).then((result) => {
            if (result.isConfirmed) {
                Swal.fire(
                    'Deleted!',
                    'Your file has been deleted.',
                    'success'
                )
                return true;
            }
            else {
                return false;
            }
        })
    }

Sample output

Apply edit, it still does not work

Share Improve this question edited Nov 17, 2020 at 8:18 Asdf1234567 asked Nov 17, 2020 at 6:25 Asdf1234567Asdf1234567 5602 gold badges14 silver badges31 bronze badges 2
  • 2 Your code is fine. Looks like the page is refreshing because the button click is being treated as a form submission. You'll need to delay form submission until SWAL is plete or disconnect the button from the form. – HymnZzy Commented Nov 17, 2020 at 6:32
  • I think, HymmZyy is right. Just add this code to your submit. e.preventDefault(); – Ultimate Commented Nov 17, 2020 at 6:43
Add a ment  | 

1 Answer 1

Reset to default 4

Try this

<button type="submit" class="btn btn-success btn-flat" onclick="submitResult(event)"><i class="far fa-check-circle"></i> Save Changes</button>

....

function submitResult(e) {
    e.preventDefault();
    Swal.fire({
        title: 'Are you sure?',
        text: "You won't be able to revert this!",
        icon: 'warning',
        showCancelButton: true,
        confirmButtonColor: '#3085d6',
        cancelButtonColor: '#d33',
        confirmButtonText: 'Yes, delete it!'
    }).then((result) => {
        if (result.isConfirmed) {
            Swal.fire(
                'Deleted!',
                'Your file has been deleted.',
                'success'
            )
            document.getElementById("EditForm").submit();
        }
    })
}
发布评论

评论列表(0)

  1. 暂无评论