проблема при передаче идентификатора при использовании подтверждения удаления в laravel 5.8 - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь использовать сладкое оповещение, чтобы запросить подтверждение удаления, но оно не работает.

У нас есть список элементов, когда мы хотим удалить каждый из них, идентификатор первого из них: передать контроллеру.

Если я удаляю 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>

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 08 апреля 2020
    <form method="post" action="/delete">
        @csrf
        <input type="hidden" name="classroom_id" value="{{$class->id}}">
        <button onclick="c()" class="btn btn-lg btn-block  btn-danger">
            Delete
        </button>
    </form>
    <script>
        function c() {
            var form = event.srcElement.closest('form');
            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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...