簡體   English   中英

Sweet-alert在Laravel中確認后如何刪除…?

[英]How to Delete After Confirmation by Sweet-alert in Laravel…?

我已將sweetalert插件鏈接為我的確認消息。 但是它沒有收到確認命令(單擊“是/確認”按鈕)。

這是我的刪除按鈕:

<a id="demoSwal" href="{{ route('setting.website_type.destroy', ['id' => $websiteType->id]) }}" class="btn btn-light btn-sm btn-delete demoSwal" data-toggle="tooltip" data-placement="top" title="Delete This Type"><i class="far fa-trash-alt"></i></a>

這是我的JS代碼:

$(document).ready(function(){
    $('.demoSwal').click(function(){
            swal({
                title: "Are you sure?",
                text: "You will not be able to recover this file!",
                type: "warning",
                showCancelButton: true,
                confirmButtonText: "Yes, delete it!",
                cancelButtonText: "No, cancel plx!",
                closeOnConfirm: false,
                closeOnCancel: false
            },
            function(isConfirm) {
                if (isConfirm) {
                    swal("Deleted!", "Your Data file has been deleted.", "success");
                } else {
                    swal("Cancelled", "Your Data file is safe :)", "error");
                }
            });
        });
});

這是我的控制器代碼:

public function destroy($id)
    {
        $delete_website_type = WebsiteType::find($id);
        $delete_website_type->delete();

        return redirect()->back();

    }

請給我解決方案...

試試看

用於刪除按鈕:---

 <a href="" class="button" data-id="{{$websiteType->id}}"><i class="far fa-trash-alt"></i></a>

在jQuery中

$(document).on('click', '.button', function (e) {
    e.preventDefault();
    var id = $(this).data('id');
    swal({
            title: "Are you sure!",
            type: "error",
            confirmButtonClass: "btn-danger",
            confirmButtonText: "Yes!",
            showCancelButton: true,
        },
        function() {
            $.ajax({
                type: "POST",
                url: "{{url('/setting/website_type/destroy')}}",
                data: {id:id},
                success: function (data) {
                              //
                    }         
            });
    });
});

public function destroy(Request $request)
{
    $delete_website_type = WebsiteType::find($request->id)->delete();
    return redirect()->route('website.index')
                    ->with('success','Website deleted successfully');
}

我已經更新我的答案,嘗試這個。

你必須把.then()

let id = $("#your_id").val();
swal({
    title: "Are you sure?",
    text: "You will not be able to recover this file!",
    type: "warning",
    showCancelButton: true,
    confirmButtonText: "Yes, delete it!",
    cancelButtonText: "No, cancel plx!",
    closeOnConfirm: false,
    closeOnCancel: false
 }).then((isConfirm) => {
        if(isConfirm) {
               //you can just use fetchAPI 
               fetch(`route_to_your_destroy_method/${id}`)
               .then(response => response.json()
               .then(result => {
                     //your result
                      if (result == 'success') {
                          //alert success
                      }else {
                           //alert fail
                      }
                }).catch(err => {console.log(err)});
        }
 });

並以您的銷毀方法

$delete_website_type = WebsiteType::find($id)->delete();
 if(delete_website_type) {
    $message = 'success';
 }else {
     $message = 'fail';
 }
  return json_encode($message);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM