JavaScript — метод удаления с помощью Sweet Alert в Laravel

Я тестирую метод с использованием Sweet Alert, чтобы улучшить сообщения, отправляемые методом предупреждения Javascript с помощью инфраструктуры laravel.

1 — Я скачал файлы sweetalert.css и sweetalert.min.js.

2 — поэтому я подключаю файлы из app.blade.php

<!-- Sweet Alert -->
<link href="{{ asset('/dist/css/sweetalert.css') }}" rel="stylesheet">
<!-- Sweet Alert -->
<script src="{{ asset('/dist/js/sweetalert.min.js') }}"></script>

3 — Я создал кнопку удаления, используя событие onclick в Javascript и следующую функцию Sweet Alert:

{!! Form::open(['method' => 'DELETE','route' => ['users.destroy', $user->id],'style'=>'display:inline']) !!}
<button onclick="swal({
title: 'Esta seguro de realizar esta Acción?',
text: 'Si procede este usuario será eliminado!',
type: 'warning',
showCancelButton: true,
confirmButtonColor: '#DD6B55',
confirmButtonText: 'Eliminar!',
cancelButtonText: 'Cancelar',
closeOnConfirm: false,
closeOnCancel: false
},
function(){
swal('Usuario eliminado!', 'Este usuario fue eliminado de nuestros registros.', 'success');
});"class="btn btn-danger" data-toggle="tooltip" data-placement="top" title="Eliminar usuario"> <i class="material-icons">delete</i>
</button>
{!! Form::close() !!}

4 — Это мой метод удаления пользователей из UserController:

public function destroy($id)
{
User::find($id)->delete();
return redirect()->route('users.index')
->with('success','User deleted successfully');
}

5 — проблема возникает при удалении пользователя, отображается сообщение с предупреждением.

Сообщение, созданное Sweet Alert

Но автоматически закрывает и удаляет пользователя, не позволяя предпринять подтверждающие действия, удалять или нет пользователя, методом, определенным в Sweet Alert.

Кто-то, кто может помочь решить эту проблему или порекомендовать лучший метод, так как я использую Laravel в качестве платформы.

2

Решение

Вы выполняете действие по нажатию кнопки независимо от того, подтвердите ли вы или отменили удаление.

<a href="" class="button" data-id="{{$user->id}}">Delete</a>

Jquery и Ajax:

$(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('/destroy')}}",
data: {id:id},
success: function (data) {
//
}
});
});
});

А также:

public function destroy(Request $request)
{
User::find($request->id)->delete();
return redirect()->route('users.index')
->with('success','User deleted successfully');
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]