Я пытаюсь использовать сладкое оповещение, чтобы запросить подтверждение удаления, но оно не работает.
У нас есть список элементов, когда мы хотим удалить каждый из них, идентификатор первого из них: передать контроллеру.
Если я удаляю event.preventDefault();
, он работает правильно, но подтверждение удаления больше не отображается!
Маршрут:
Route::POST('/delete_class', 'ClassController@delete_class')->name('class.delete');
Форма:
<form method="post" id="myform" action="{{route('class.delete')}}">
@csrf
<input type="hidden" name="classroom_id" value="{{$class->id}}">
<button onclick="c()" id="confirm_delete" class="btn btn-lg btn-block btn-danger">
Delete
</button>
</form>
Контроллер:
public function delete_class(Request $request)
{
//dd($request->toArray());
Classroom::where('id', $request->classroom_id)->delete();
return redirect()->route('dashboard');
}
Сценарий:
<script>
function c() {
var form = document.getElementById('myform');
event.preventDefault();
const swalWithBootstrapButtons = Swal.mixin({
customClass: {
confirmButton: 'btn btn-success',
cancelButton: 'btn btn-danger'
},
buttonsStyling: false
})
swalWithBootstrapButtons.fire({
title: 'Are you sure?',
text: "You won't be able to revert this!",
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Yes, delete it!',
cancelButtonText: 'No, cancel!',
reverseButtons: true
}).then((result) => {
if (result.value) {
form.submit();
swalWithBootstrapButtons.fire(
'Deleted!',
'Your Class has been deleted.',
'success'
)
}
else if (result.dismiss === Swal.DismissReason.cancel) {
swalWithBootstrapButtons.fire(
'Cancelled',
'Your Class is safe :)',
'error'
)
}
})
}
</script>
Пожалуйста, помогите.