Postingan lainnya
Kelas Premium!
Belajar Javascript untuk website
Gunakan kupon "mulaijs" untuk diskon 75 ribu!
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');
}
9 Jawaban:
Saya coba bantu ya. Pada callback then, harusnya yg disubmit adalah form dgn id delete-pegawai.
<pre> $('#delete-pegawai').submit() </pre>
bisa gan, berhasil sesuai id hapusnya tapi konfirmasinya itu muncul sekejap aja. Jadi kita tidak klik apapun di anggap true
Mungkin di struktur htmnya, coba button untuk deletenya simpan diluar. Jadi seperti ini
<pre>
<form id="delete-pegawai" action=" {{url('pegawai/delete/'.$data->id)}}" method="post">
{{csrf_field()}}{{method_field('delete')}
</form>
<button type="button" class="btn btn-danger" onclick="confirmDelete('delete-pegawai')">delete</button>
</pre>
cara biar di javascriptnya dapatin id dari $data->id nya itu gimana gan
<pre> action=" {{url('pegawai/delete/'.$data->id)}}" </pre>
Tanggapan
swal versi berapa?
Kalau menurut saya lebih enak pakai XHR/Ajax, tpi kalau masih mau pake cara ini silahkan
<pre>
<form id="data-{{ $data->id }}" action="{{url('pegawai/delete/'.$data->id)}}" method="post"></form> <button onclick="deleteRow( {{ $data->id }} )">Delete</button>
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) => { if (willDelete) { $('#data-'+id).submit(); } }); } </pre>
Saya masih baru-baru belajar ajax bang masih belum paham. Boleh lihat scriptnya bang kalau yg pake ajax? Terimakasih sebelumnya bang
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 ?
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