問題描述
我正在測試一種使用 Sweet Alert 的方法,以改進由 Laravel 框架中的 Javascript 警報方法發出的消息.
I'm testing a method using Sweet Alert, to improve the messages issued by the Javascript alert method with the laravel framework.
1 - 我下載了文件 sweetalert.css 和 sweetalert.min.js.
1 - I downloaded the files sweetalert.css and sweetalert.min.js.
2 - 所以我從 app.blade.php 連接文件
2 - So I connect the files from 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 - 我使用 Javascript 的 onclick 事件和以下 Sweet Alert 函數創建了刪除按鈕:
3 - I created the delete button using the onclick event of Javascript and the following Sweet Alert function:
{!! 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 中刪除用戶的方法:
4 - This is my method for deleting users from UserController:
public function destroy($id)
{
User::find($id)->delete();
return redirect()->route('users.index')
->with('success','User deleted successfully');
}
5 - 刪除用戶時出現問題,顯示警告消息.
5 - The problem occurs when deleting a user, displays the alert message.
但自動關閉并刪除用戶,不允許采取確認操作,是否刪除用戶,Sweet Alert中定義的方法.
But automatically closes and deletes the user without allowing to take the confirmation actions, whether or not to delete the user, method defined in Sweet Alert.
有人可以幫助糾正這個問題或推薦更好的方法,因為我使用 Laravel 作為框架.
Someone who can give a help to correct this problem or recommend a better method, since I am using Laravel as Framework.
推薦答案
無論您確認還是取消刪除,您都在對按鈕單擊執行操作.
You are Performing action on button click irrespective of whether you confirm or cancelled the deletion.
<a href="" class="button" data-id="{{$user->id}}">Delete</a>
Jquery 和 Ajax:
Jquery and 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');
}
這篇關于在 Laravel 中使用 Sweet Alert 刪除方法的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!