2016-11-13 10 views
2

Sweet Alertを使用して、laravelフレームワークでJavascript警告メソッドが発行したメッセージを改善する方法をテストしています。LaravelのSweet Alertでメソッドを削除する

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からファイルを接続する - 私は、Javascriptと、次のスウィートアラート機能のonclickのイベントを使用して削除ボタンを作成:

{!! 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 - 問題0ユーザーを削除すると、警告メッセージが表示されます。

Message generated by Sweet Alert

しかし、自動的にユーザーを削除するかどうか、確認のアクションを実行することなく、ユーザを閉じて削除し、甘いアラートに定義された方法。

私はLaravelをフレームワークとして使用しているので、この問題を解決する方法や、より良い方法をお勧めする人がいます。

+0

は、このを見てください。 http://stackoverflow.com/questions/31136889/how-to-use-confirm-using-sweet-alert – usrNotFound

+0

こんにちは@CannotFindSymbolとありがとう、このメソッドでは、ユーザーを排除し、通知を生成しません。 –

答えて

1

あなたが削除を確認またはキャンセルしたかどうかにかかわらず、ボタンクリックでアクションを実行しています。

<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'); 
} 
+0

あなたの答えはありがとう、私はあなたの方法を適用しようとしていたが、私はそれを働かせることはできません。 アクションを続行するかどうかを確認するウィンドウを生成するだけですが、レコードは削除されません。 エラーは次のとおりです。 –

+0

POST http:// localhost/zizaco_entrust/public/destroy 500(内部サーバーエラー)@jquery.min.jsを送信:4ajax @ jquery.min.js:4(匿名機能)@ユーザー?page = 3:429l @ sweetalert.min.js:1s @ sweetalert.min.js:1g @ sweetalert.min.js:1 –

+0

エラーはサーバーにあります。 'Route :: post( '/ destroy'、 'UserController @ destroy');' –

関連する問題