Cara membuat sweetalert konfirmasi delete di laravel

Assalamualaikum saya disini mau minta bantuan gimana caranya membuat SweetAlerts konfirmasi yang di dalamnya ada dua button (True dan False) menggunakan SweetAlerts lewat package uxweb/sweet-alert di laravel. saya sudah bisa munculinnya tapi pas di pencet tombol delete yang terdelete dari id pertama bukan yang sesuai kita inginkan. Tolong bantuannya SweetAlertsnya

<script>
        function confirmDelete(item_id) {
            swal({
                 title: 'Apakah Anda Yakin?',
                  text: "Anda Tidak Akan Dapat Mengembalikannya!",
                  type: 'warning',
                  showCancelButton: true,
                  confirmButtonColor: '#3085d6',
                  cancelButtonColor: '#d33',
                  confirmButtonText: 'Yes, delete it!'
            })
                .then((willDelete) => {
                    if (willDelete) {
                        $('#'+item_id).submit();
                    } else {
                        swal("Cancelled Successfully");
                    }
                });
        }
    </script>

Buttonnya

<form id="delete-pegawai" action=" {{url('pegawai/delete/'.$data->id)}}" method="post">
                                                {{csrf_field()}}
                                                {{method_field('delete')}}
                                                <button type="button" class="btn btn-danger" onclick="confirmDelete('delete-pegawai')">delete</button>
                                            </form>

Controllernya

$pegawai = pegawai::find($id)->delete();
         //Alert::success('Selamat Datang !')->persistent('Confirm');
        return redirect()->route('pegawai.index')->with('success','User deleted successfully');
    }

avatar Taufikhdyt17
@Taufikhdyt17

16 Kontribusi 4 Poin

Diperbarui 5 tahun yang lalu

9 Jawaban:

Saya coba bantu ya. Pada callback then, harusnya yg disubmit adalah form dgn id delete-pegawai.

<pre> $('#delete-pegawai').submit() </pre>

avatar Septemberkid
@Septemberkid

59 Kontribusi 23 Poin

Dipost 5 tahun yang lalu

bisa gan, berhasil sesuai id hapusnya tapi konfirmasinya itu muncul sekejap aja. Jadi kita tidak klik apapun di anggap true

avatar Taufikhdyt17
@Taufikhdyt17

16 Kontribusi 4 Poin

Dipost 5 tahun yang lalu

Mungkin di struktur htmnya, coba button untuk deletenya simpan diluar. Jadi seperti ini

<pre> &lt;form id="delete-pegawai" action=" {{url('pegawai/delete/'.$data-&gt;id)}}" method="post"&gt; {{csrf_field()}}{{method_field('delete')}
&lt;/form&gt; &lt;button type="button" class="btn btn-danger" onclick="confirmDelete('delete-pegawai')"&gt;delete&lt;/button&gt; </pre>

avatar Septemberkid
@Septemberkid

59 Kontribusi 23 Poin

Dipost 5 tahun yang lalu

malah terhapus yang id pertamanya gan

avatar Taufikhdyt17
@Taufikhdyt17

16 Kontribusi 4 Poin

Dipost 5 tahun yang lalu

cara biar di javascriptnya dapatin id dari $data-&gt;id nya itu gimana gan

<pre> action=" {{url('pegawai/delete/'.$data-&gt;id)}}" </pre>

avatar Taufikhdyt17
@Taufikhdyt17

16 Kontribusi 4 Poin

Dipost 5 tahun yang lalu

Tanggapan

swal versi berapa?

Kalau menurut saya lebih enak pakai XHR/Ajax, tpi kalau masih mau pake cara ini silahkan

<pre>

&lt;form id="data-{{ $data-&gt;id }}" action="{{url('pegawai/delete/'.$data-&gt;id)}}" method="post"&gt;&lt;/form&gt; &lt;button onclick="deleteRow( {{ $data-&gt;id }} )"&gt;Delete&lt;/button&gt;

function deleteRow(id) { swal({ title: "Are you sure?", text: "Once deleted, you will not be able to recover this imaginary file!", icon: "warning", buttons: true, dangerMode: true, }) .then((willDelete) =&gt; { if (willDelete) { $('#data-'+id).submit(); } }); } </pre>

avatar Septemberkid
@Septemberkid

59 Kontribusi 23 Poin

Dipost 5 tahun yang lalu

Saya masih baru-baru belajar ajax bang masih belum paham. Boleh lihat scriptnya bang kalau yg pake ajax? Terimakasih sebelumnya bang

avatar Taufikhdyt17
@Taufikhdyt17

16 Kontribusi 4 Poin

Dipost 5 tahun yang lalu

makasih bang cara di atas sudah bisa cuma kurang ini aja <pre> {{csrf_field()}} {{method_field('delete')}} </pre> Tapi boleh mintakah yang kalau pakai ajax bang scriptnya ?

avatar Taufikhdyt17
@Taufikhdyt17

16 Kontribusi 4 Poin

Dipost 5 tahun yang lalu

Bisa menangani masalah CSRF Protection bisa belajar dari sini ya [link] https://laravel.com/docs/5.7/csrf [/link] dibagian X-CSRF-TOKEN Untuk ajaxnya sendiri bisa belajar disini <a href=' http://api.jquery.com/jquery.ajax/ '> http://api.jquery.com/jquery.ajax/ </a>

Selamat belajar :), kalau ada kendala atau error bisa dipampang disini. Semangat.

*Bukannya pelit kode, supaya kemampuanmu bisa lebih berkembang

avatar Septemberkid
@Septemberkid

59 Kontribusi 23 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban